protected override void OnModelPropertyChanged(string propertyName) { RaisePropertyChanged(propertyName); if (propertyName == "Presentation") { RemoveNodeCommand.RaiseCanExecuteChanged(); RemoveAllButCommand.RaiseCanExecuteChanged(); ShowCyclesCommand.RaiseCanExecuteChanged(); RemoveNodesWithoutSourcesCommand.RaiseCanExecuteChanged(); RemoveNodesWithoutTargetsCommand.RaiseCanExecuteChanged(); RemoveNodesWithoutSiblingsCommand.RaiseCanExecuteChanged(); ShowNodesOutsideClustersCommand.RaiseCanExecuteChanged(); FoldUnfoldAllClustersCommand.RaiseCanExecuteChanged(); AddVisibleNodesOutsideClustersToClusterCommand.RaiseCanExecuteChanged(); ClearSelectionCommand.RaiseCanExecuteChanged(); InvertSelectionCommand.RaiseCanExecuteChanged(); HomeCommand.RaiseCanExecuteChanged(); InvalidateLayoutCommand.RaiseCanExecuteChanged(); PrintGraphCommand.RaiseCanExecuteChanged(); BuildClustersMenu(); BuildSelectedNodesMenu(); if (myTransformationsModuleObserver != null) { mySelectionObserver.ModuleChanged -= OnSelectionChanged; mySelectionObserver.Dispose(); mySelectionObserver = null; myTransformationsModuleObserver.ModuleChanged -= OnTransformationsModuleChanged; myTransformationsModuleObserver.Dispose(); myTransformationsModuleObserver = null; } if (Presentation != null) { var transformations = Presentation.GetModule <ITransformationModule>(); myTransformationsModuleObserver = transformations.CreateObserver(); myTransformationsModuleObserver.ModuleChanged += OnTransformationsModuleChanged; mySelectionObserver = Presentation.GetPropertySetFor <Selection>().CreateObserver(); mySelectionObserver.ModuleChanged += OnSelectionChanged; } } }
public GamesViewModel(IMediator mediator, GameInfoOverlayViewModel giovm, IGameContext gameContext, UserSettings settings, Lazy <LaunchManager> launchManager) { _gameContext = gameContext; ModuleName = ControllerModules.GameBrowser; DisplayName = "Games"; UserSettings = settings; _gameInfoOverlay = giovm; _mediator = mediator; _launchManager = launchManager; ContextMenu = new GameContextMenu(this); BarMenu = new GameBarMenu(this); this.SetCommand(x => x.DoubleClickedCommand); this.WhenAnyValue(x => x.SelectedItemsInternal) .Select(x => x == null ? null : x.CreateDerivedCollection(i => (GameDataModel)i)) .BindTo(this, x => x.SelectedItems); ClearSelectionCommand = ReactiveUI.ReactiveCommand.Create(); ClearSelectionCommand.Subscribe(x => ClearSelection()); }
protected LibraryBase() { ClearSelectionCommand = ReactiveCommand.Create(); ClearSelectionCommand.Subscribe(x => ClearSelection()); }