Esempio n. 1
0
        public void AddToIdea()
        {
            var vm = new AddParticleDlgViewModel(_particlesManager, typeof (Entity.Idea), _blockManager);
            SetExistParticle(vm.AddParticleVm);
            SetNewParticle(vm.AddParticleVm);

            var dlg = new AddParticleDlg(vm);
            var res = dlg.ShowDialog();
            if (!res.HasValue || !res.Value) return;

            if (vm.AddParticleVm.AddParticle && vm.AddParticleVm.UseNewParticle)
            {
                var bl = new TextBlockParticle
                {
                    Caption = vm.BlockCaption,
                    Id = vm.ParticleId,
                    MyAnchor = new AnchorSegment(_textEditor.Document, _textEditor.SelectionStart, _textEditor.SelectionLength)
                };
                Blocks.Add(bl);
                InsertCaptionForBlock(bl);
            }

            //Save!
            SaveMaterial(_textEditor.Text);
        }
Esempio n. 2
0
        private void InsertCaptionForBlock(TextBlockParticle bl)
        {
            var toin = 0;
            var line = _textEditor.Document.GetLineByOffset(bl.Offset);
            if (line.PreviousLine != null) toin = line.PreviousLine.EndOffset + line.PreviousLine.DelimiterLength;

            _textEditor.Document.Insert(toin, bl.HeaderCaption + "\r\n");
            Blocks.Add(new TextBlockParticleCaption()
            {
                MyAnchor = new AnchorSegment(_textEditor.Document, toin, bl.HeaderCaption.Length)
            });
        }
Esempio n. 3
0
 public void SelectBlock(TextBlockParticle selectedBlock)
 {
     foreach (var block in Blocks.OfType<TextBlockParticle>())
         block.Selected = false;
     if (selectedBlock == null)
         _eventAggregator.GetEvent<BookmarkSelected>().Publish(Guid.Empty);
     else
     {
         selectedBlock.Selected = true;
         _eventAggregator.GetEvent<BookmarkSelected>().Publish(selectedBlock.Id);
     }
 }
Esempio n. 4
0
        public void CreateRelation()
        {
            var vm = _container.Resolve<CreateRelationDlgViewModel>();
            SetExistParticle(vm.AddParticleVm);
            SetNewParticle(vm.AddParticleVm);

            var dlg = new CreateRelationDlg(vm);
            var res = dlg.ShowDialog();
            if (!res.HasValue || !res.Value) return;

            if (vm.AddParticleVm.AddParticle && vm.AddParticleVm.UseNewParticle)
            {
                var bl = new TextBlockParticle
                {
                    Caption = String.Format("{0} {1} {2}", vm.Idea1Caption, vm.Relation.Name, vm.Idea2Caption),
                    Id = vm.ParticleId,
                    MyAnchor = new AnchorSegment(_textEditor.Document, _textEditor.SelectionStart, _textEditor.SelectionLength)
                };
                Blocks.Add(bl);
                InsertCaptionForBlock(bl);
            }

            //Save!
            SaveMaterial(_textEditor.Text);
        }
Esempio n. 5
0
        public void CreateIdea()
        {
            var vm = _container.Resolve<CreateIdeaDlgViewModel>();
            SetExistParticle(vm.AddParticleVm);
            SetNewParticle(vm.AddParticleVm);

            var dlg = new CreateIdeaDlg(vm);
            var res = dlg.ShowDialog();
            if (!res.HasValue || !res.Value) return;

            _settingsService.AddRecentIdea(vm.IdeaId);

            if (vm.AddParticleVm.AddParticle && vm.AddParticleVm.UseNewParticle)
            {
                var bl = new TextBlockParticle
                {
                    Caption = vm.Caption,
                    Id = vm.ParticleId,
                    MyAnchor = new AnchorSegment(_textEditor.Document, _textEditor.SelectionStart, _textEditor.SelectionLength)
                };
                Blocks.Add(bl);
                InsertCaptionForBlock(bl);
            }

            //Save!
            SaveMaterial(_textEditor.Text);
        }
Esempio n. 6
0
        //add new text to recent
        public void AddToIdea(Guid id)
        {
            if (_textEditor.SelectionLength == 0) return;

            var toNormalize = new Fragment()
            {
                Start = _textEditor.SelectionStart,
                End = _textEditor.SelectionStart + _textEditor.SelectionLength
            };
            toNormalize = NormalizeFragment(toNormalize);

            var block = _blockManager.GetBlockById(id);
            var particle = _particlesManager.CreateParticle(_materialId, toNormalize.Start, toNormalize.End);
            _blockManager.AddParticleToBlock(block, particle);

            var bl = new TextBlockParticle
            {
                Caption = block.Caption,
                Id = particle.Id,
                MyAnchor =
                    new AnchorSegment(_textEditor.Document, _textEditor.SelectionStart, _textEditor.SelectionLength)
            };
            Blocks.Add(bl);
            InsertCaptionForBlock(bl);

            //Save!
            SaveMaterial(_textEditor.Text);
        }