private void SelectTilePool(Guid poolUid) { if (_selectedPool == poolUid) { return; } if (poolUid == null || !_tilePoolPresenters.ContainsKey(poolUid)) { _selectedPool = Guid.Empty; _selectedPoolRef = null; _commandManager.Invalidate(CommandKey.TilePoolProperties); return; } _selectedPool = poolUid; _selectedPoolRef = _tilePoolPresenters[poolUid]; _commandManager.Invalidate(CommandKey.TilePoolProperties); _commandManager.Invalidate(CommandKey.TilePoolDelete); _commandManager.Invalidate(CommandKey.TilePoolImportMerge); _commandManager.Invalidate(CommandKey.TilePoolRename); _commandManager.Invalidate(CommandKey.TilePoolExport); _commandManager.Invalidate(CommandKey.TilePoolImportOver); OnSelectedTilePoolChanged(EventArgs.Empty); }
private void AddPoolPresenter(TilePool pool) { TilePoolPresenter presenter = new TilePoolPresenter(pool); presenter.SelectedTileChanged += SelectedTileChanged; _tilePoolPresenters[pool.Uid] = presenter; }
private void ClearPoolPresenters() { foreach (TilePoolPresenter presenter in _tilePoolPresenters.Values) { presenter.Dispose(); } _tilePoolPresenters.Clear(); _selectedPool = Guid.Empty; _selectedPoolRef = null; }