public ParticlePropertiesViewModel(IEventAggregator eventAggregator, IParticlesManager particlesManager, IBlockManager blockManager) { _particleGuid = Guid.Empty; _eventAggregator = eventAggregator; _particlesManager = particlesManager; _blockManager = blockManager; ParticleInplaces = new ObservableCollection<ParticleInplaceBlock>(); _eventAggregator.GetEvent<BookmarkSelected>().Subscribe(BookmarkSelected); DeleteParticleInplaceCommand = new DelegateCommand<ParticleInplaceBlock>(pi => { _particlesManager.DeleteParticleInplace(pi.ParticleInplace); ParticleInplaces.Remove(pi); }); DeleteParticleCommand = new DelegateCommand(() => { if (_particleGuid != Guid.Empty) { var result = _particlesManager.DeleteParticle(_particleGuid); if (result) { _eventAggregator.GetEvent<MaterialUpdatedEvent>().Publish(_materialId); _eventAggregator.GetEvent<BookmarkSelected>().Publish(Guid.Empty); } } }); }
public AddParticleDlgViewModel(IParticlesManager particleManager, Type targetType, IBlockManager blockManager) { _particleManager = particleManager; _blockManager = blockManager; AddParticleVm = new AddParticleViewViewModel(_particleManager, Visibility.Collapsed); OkCommand = new DelegateCommand<Window>((wnd) => { if (AddParticleVm.UseNewParticle) { var particle = _particleManager.CreateParticle(AddParticleVm.NewParticle.Material, AddParticleVm.NewParticle.Begin, AddParticleVm.NewParticle.End); _blockManager.AddParticleToBlock(_block, particle); } else if (AddParticleVm.UseExistParticle && AddParticleVm.ExistParticle.HasValue) { var particle = _particleManager.GetParticleById(AddParticleVm.ExistParticle.Value); _blockManager.AddParticleToBlock(_block, particle); } wnd.DialogResult = true; wnd.Close(); }, wnd => _block != null && (AddParticleVm.UseNewParticle || AddParticleVm.UseExistParticle)); SelectIdeaCommand = new DelegateCommand(() => { var dlg = new SelectTagDlg(targetType); var res = dlg.ShowDialog(); if (res.HasValue && res.Value && dlg.Id.HasValue) { _block = _blockManager.GetBlockById(dlg.Id.Value); BlockCaption = _block.Caption; OkCommand.RaiseCanExecuteChanged(); } }); }
public CreateCommentDlgViewModel(IParticlesManager particlesManager, IBlockManager blockManager, ICommentManager commentManager, IEventAggregator eventAggregator) { _particlesManager = particlesManager; _blockManager = blockManager; _commentManager = commentManager; _eventAggregator = eventAggregator; AddParticleVm = new AddParticleViewViewModel(particlesManager); SelectBlockCommand = new DelegateCommand(() => { var dlg = new SelectTagDlg(typeof (Guidable)); var res = dlg.ShowDialog(); if (res.HasValue && res.Value && dlg.Id.HasValue) { _myGuidable = _blockManager.GetGuidableById(dlg.Id.Value); OkCommand.RaiseCanExecuteChanged(); if (_myGuidable is Material) GuidableCaption = (_myGuidable as Material).Name; else if (_myGuidable is Block) GuidableCaption = (_myGuidable as Block).Caption; } }); OkCommand = new DelegateCommand<Window>((wnd) => { var comment = _commentManager.CreateComment(Caption, _myGuidable); if (AddParticleVm.AddParticle) if (AddParticleVm.UseNewParticle) { var particle = _particlesManager.CreateParticle(AddParticleVm.NewParticle.Material, AddParticleVm.NewParticle.Begin, AddParticleVm.NewParticle.End); _blockManager.AddParticleToBlock(comment, particle); ParticleId = particle.Id; } else if (AddParticleVm.UseExistParticle && AddParticleVm.ExistParticle.HasValue) { var particle = _particlesManager.GetParticleById(AddParticleVm.ExistParticle.Value); _blockManager.AddParticleToBlock(comment, particle); ParticleId = particle.Id; } _eventAggregator.GetEvent<BlockAddedEvent>().Publish(comment.Id); wnd.DialogResult = true; wnd.Close(); }, wnd => !String.IsNullOrWhiteSpace(Caption) && _myGuidable != null); }
public ConspEditorMainViewModel(IIdeaManager ideaManager, IMaterialManager materialManager, ITagsManager tagsManager, IParticlesManager particlesManager, IBlockManager blockManager, IEventAggregator eventAggregator, IRelationManager relationManager, ICommentManager commentManager) { _ideaManager = ideaManager; _materialManager = materialManager; _tagsManager = tagsManager; _particlesManager = particlesManager; _blockManager = blockManager; _eventAggregator = eventAggregator; _relationManager = relationManager; _commentManager = commentManager; Bookmarks = new List<string>(); _eventAggregator.GetEvent<MaterialUpdatedEvent>().Subscribe(MaterialUpdated); }
public TextModel(IEventAggregator eventAggregator, IMaterialManager materialManager, Guid materialId, IBlockManager blockManager, IParticlesManager particlesManager, TextEditor textEditor, IUnityContainer container, ISettingsService settingsService) { _eventAggregator = eventAggregator; _materialManager = materialManager; _materialId = materialId; _blockManager = blockManager; _particlesManager = particlesManager; _textEditor = textEditor; _container = container; _settingsService = settingsService; Contstruct(); LoadToEditor(); }
public ConspEditorFastMainView(IMaterialManager materialManager, IParticlesManager particlesManager, IEventAggregator eventAggregator, ConspEditorFastMainViewModel model, IBlockManager blockManager, IUnityContainer container, ISettingsService settingsService) { _materialManager = materialManager; _particlesManager = particlesManager; _eventAggregator = eventAggregator; _blockManager = blockManager; _container = container; _settingsService = settingsService; InitializeComponent(); DataContext = model; textEditor.VerticalScrollBarVisibility = ScrollBarVisibility.Visible; textEditor.Options.InheritWordWrapIndentation = false; _eventAggregator.GetEvent<MaterialUpdatedEvent>().Subscribe(MaterialUpdated); CreateMenu(); }
public CreateIdeaDlgViewModel(ITagsManager tagsManager, IParticlesManager particleManager, IIdeaManager ideaManager, IBlockManager blockManager, IEventAggregator eventAggregator) { _tagsManager = tagsManager; _particleManager = particleManager; _ideaManager = ideaManager; _blockManager = blockManager; _eventAggregator = eventAggregator; AddParticleVm = new AddParticleViewViewModel(_particleManager); OkCommand = new DelegateCommand<Window>((wnd) => { var idea = _ideaManager.CreateIdea(Caption); if (_parentTag != null) _ideaManager.AddTagToIdea(idea, _parentTag); if (AddParticleVm.AddParticle) if (AddParticleVm.UseNewParticle) { var particle = _particleManager.CreateParticle(AddParticleVm.NewParticle.Material, AddParticleVm.NewParticle.Begin, AddParticleVm.NewParticle.End); _blockManager.AddParticleToBlock(idea, particle); } else if (AddParticleVm.UseExistParticle && AddParticleVm.ExistParticle.HasValue) { var particle = _particleManager.GetParticleById(AddParticleVm.ExistParticle.Value); _blockManager.AddParticleToBlock(idea, particle); } _eventAggregator.GetEvent<BlockAddedEvent>().Publish(idea.Id); wnd.DialogResult = true; wnd.Close(); }, wnd => !String.IsNullOrWhiteSpace(Caption)); SelectTagCommand = new DelegateCommand(() => { var dlg = new SelectTagDlg(typeof (Tag)); var res = dlg.ShowDialog(); if (res.HasValue && res.Value && dlg.Id.HasValue) { _parentTag = _tagsManager.GetTagById(dlg.Id.Value); TagCaption = _parentTag.Caption; AddToTag = true; } }); }
public CreateIdeaDlgViewModel(ITagsManager tagsManager, IParticlesManager particleManager, IIdeaManager ideaManager, IBlockManager blockManager, IEventAggregator eventAggregator, ISettingsService settingsService) { _tagsManager = tagsManager; _particleManager = particleManager; _ideaManager = ideaManager; _blockManager = blockManager; _eventAggregator = eventAggregator; _settingsService = settingsService; RecentTags = new List<RecentTag>(); RecentTags.AddRange( settingsService.GetRecentTags() .Select(a => new RecentTag() {Id = a.Id, TagLong = a.Name, TagShort = a.Name.Substring(0, Math.Min(a.Name.Length, 20)) + (Math.Min(a.Name.Length, 20) == 20 ? "...;" : ";") })); AddParticleVm = new AddParticleViewViewModel(_particleManager); OkCommand = new DelegateCommand<Window>((wnd) => { var idea = _ideaManager.CreateIdea(Caption); if (_parentTag != null) _ideaManager.AddTagToIdea(idea, _parentTag); if (AddParticleVm.AddParticle) if (AddParticleVm.UseNewParticle) { var particle = _particleManager.CreateParticle(AddParticleVm.NewParticle.Material, AddParticleVm.NewParticle.Begin, AddParticleVm.NewParticle.End); _blockManager.AddParticleToBlock(idea, particle); ParticleId = particle.Id; } else if (AddParticleVm.UseExistParticle && AddParticleVm.ExistParticle.HasValue) { var particle = _particleManager.GetParticleById(AddParticleVm.ExistParticle.Value); _blockManager.AddParticleToBlock(idea, particle); ParticleId = particle.Id; } IdeaId = idea.Id; _eventAggregator.GetEvent<BlockAddedEvent>().Publish(idea.Id); wnd.DialogResult = true; wnd.Close(); }, wnd => !String.IsNullOrWhiteSpace(Caption)); SelectTagCommand = new DelegateCommand(() => { var dlg = new SelectTagDlg(typeof (Tag)); var res = dlg.ShowDialog(); if (res.HasValue && res.Value && dlg.Id.HasValue) { _parentTag = _tagsManager.GetTagById(dlg.Id.Value); TagCaption = _parentTag.Caption; AddToTag = true; } }); ClickTagCommand = new DelegateCommand<RecentTag>(rt => { _parentTag = _tagsManager.GetTagById(rt.Id); TagCaption = _parentTag.Caption; AddToTag = true; }); }
public AddParticleViewViewModel(IParticlesManager particlesManager, System.Windows.Visibility addParticleVisibility = Visibility.Visible) { _particleManager = particlesManager; AddParticleVisible = addParticleVisibility; }
public TagsManagerMainViewModel(ITagsManager tagsManager, IBlockManager blockManager, EventAggregator eventAggregator, IReferenceManager referenceManager, IRelationManager relationManager, IIdeaManager ideaManager, ISharedService shared, IMaterialManager materialManager, IParticlesManager particlesManager) { _eventAggregator = eventAggregator; _shared = shared; _db = new AllDb() { TagsManager = tagsManager, RelationManager = relationManager, IdeaManager = ideaManager, BlockManager = blockManager, MaterialManager = materialManager, ParticlesManager = particlesManager }; _eventAggregator.GetEvent<BlockAddedEvent>().Subscribe(guid => { var block = _db.BlockManager.GetBlockById(guid); if (block is Idea) { var ideaDto = IdeaDto.FromBase(block as Idea, _db); OnNodeAdded(ideaDto); } if (block is Relation) { var relDto = RelationDto.FromBase(block as Relation, _db); OnNodeAdded(relDto); } if (block is Comment) { var commDto = CommentDto.FromBase(block as Comment, _db); OnNodeAdded(commDto); } }); _eventAggregator.GetEvent<DatabaseImportedEvent>().Subscribe(s => OnRefresh()); _eventAggregator.GetEvent<MaterialUpdatedEvent>().Subscribe(guid => { var mat = _db.MaterialManager.GetMaterialById(guid); var matDto = MaterialDto.FromBase(mat, _db); OnMaterialUpdate(matDto as MaterialDto); }); NewTagCommand = new DelegateCommand<TreeItemDto>((dto) => { if (dto == null || dto is TagDto) { var added = _db.TagsManager.AddTag(dto == null ? null : (Guid?) dto.Id, "New tag"); var addedDto = TagDto.FromBase(added, _db); OnNodeAdded(addedDto); OnRenameTag(addedDto); } }); NewIdeaCommand = new DelegateCommand<TreeItemDto>(dto => { /*var added = _ideaManager.CreateIdea("New idea"); var addedDto = _map.Map<IdeaDto>(added); OnNodeAdded(addedDto); OnRenameTag(addedDto);*/ }); AddReferenceCommand = new DelegateCommand<TreeItemDto>(dto => { if (dto is IdeaDto || dto is RelationDto) { var dlgVm = new CreateReferenceDlgViewModel(_db.BlockManager, dto); if (shared.SelectedParticle != Guid.Empty) { var pis = _db.ParticlesManager.GetParticleInplacesForParticle(shared.SelectedParticle); if (pis != null && pis.Any()) { var block = _db.BlockManager.GetBlockById(pis.First().BlockId) as Idea; if (block != null) dlgVm.Block2 = new NamedGuid() {Caption = block.Caption, Uid = block.Id}; } } var dlg = new CreateReferenceDlg(dlgVm); var res = dlg.ShowDialog(); if (res.HasValue && res.Value) { if (dlgVm.IsTo || dlgVm.IsBoth) { var refer = referenceManager.CreateReference(dlgVm.Block1.Uid, dlgVm.Block2.Uid); OnNodeAdded(ReferenceDto.FromBase(refer, _db)); } if (dlgVm.IsFrom || dlgVm.IsBoth) { var refer = referenceManager.CreateReference(dlgVm.Block2.Uid, dlgVm.Block1.Uid); OnNodeAdded(ReferenceDto.FromBase(refer, _db)); } } } }); ClearCommand = new DelegateCommand(() => { tagsManager.DeleteAllTAgs(); OnRefresh(); }); OpenIdeaCommand = new DelegateCommand<TreeItemDto>(dto => { if (dto is IdeaDto) Interfaces.CompositeCommands.OpenBlockCommand.Execute(dto.Id); if (dto is MaterialDto) Interfaces.CompositeCommands.OpenSourceCommand.Execute(dto.Id); }); RenameCommand = new DelegateCommand<TreeItemDto>(OnRenameTag); AddCurrentMaterialCommand = new DelegateCommand<TagDto>(dto => { if (_shared.CurrentMaterial.HasValue) { _db.TagsManager.ApplyTagToMaterial(_shared.CurrentMaterial.Value, dto.Id); var m = _db.MaterialManager.GetMaterialById(_shared.CurrentMaterial.Value); var addedDto = MaterialDto.FromBase(m, _db); OnNodeAdded(addedDto); } }); DeleteCommand = new DelegateCommand<TreeItemDto>(dto => { if (dto is IdeaDto) { _db.IdeaManager.DeleteIdea((dto as IdeaDto).Id); NodeAnnihilated(dto); } }); }
public CreateRelationDlgViewModel(IParticlesManager particlesManager, IIdeaManager ideaManager, IRelationManager relationManager, IBlockManager blockManager, IEventAggregator eventAggregator) { _particlesManager = particlesManager; _ideaManager = ideaManager; _relationManager = relationManager; _blockManager = blockManager; _eventAggregator = eventAggregator; AddParticleVm = new AddParticleViewViewModel(_particlesManager); SelectIdea1Command = new DelegateCommand(() => { var dlg = new SelectTagDlg(typeof (Idea)); var res = dlg.ShowDialog(); if (res.HasValue && res.Value && dlg.Id.HasValue) { _idea1 = _ideaManager.GetIdeaById(dlg.Id.Value); Idea1Caption = _idea1.Caption; OnPropertyChanged("Idea1Caption"); } OkCommand.RaiseCanExecuteChanged(); }); SelectIdea2Command = new DelegateCommand(() => { var dlg = new SelectTagDlg(typeof (Idea)); var res = dlg.ShowDialog(); if (res.HasValue && res.Value && dlg.Id.HasValue) { _idea2 = _ideaManager.GetIdeaById(dlg.Id.Value); Idea2Caption = _idea2.Caption; OnPropertyChanged("Idea2Caption"); } OkCommand.RaiseCanExecuteChanged(); }); AddRelationTypeCommand = new DelegateCommand<RoutedEventArgs>(e => { var text = ((ButtonEdit) e.Source).Text; var rt = _relationManager.AddRelationType(text); var relationDto = new RelationTypeDto() {Id = rt.Id, Name = text}; Relations.Add(relationDto); Relation = relationDto; }); OkCommand = new DelegateCommand<Window>(wnd => { var relation = _relationManager.CreateRelation(Relation.Id, _idea1.Id, _idea2.Id); if (AddParticleVm.AddParticle) if (AddParticleVm.UseNewParticle) { var particle = _particlesManager.CreateParticle(AddParticleVm.NewParticle.Material, AddParticleVm.NewParticle.Begin, AddParticleVm.NewParticle.End); _blockManager.AddParticleToBlock(relation, particle); } else if (AddParticleVm.UseExistParticle && AddParticleVm.ExistParticle.HasValue) { var particle = _particlesManager.GetParticleById(AddParticleVm.ExistParticle.Value); _blockManager.AddParticleToBlock(relation, particle); } _eventAggregator.GetEvent<BlockAddedEvent>().Publish(relation.Id); wnd.DialogResult = true; wnd.Close(); }, wnd => Relation != null && _idea1 != null && _idea2 != null); Relations = new ObservableCollection<RelationTypeDto>( _relationManager.GetRelationTypes() .Select(rt => new RelationTypeDto() {Id = rt.Id, Name = rt.Caption})); }