void document_Changed(object sender, DocumentChangeEventArgs e)
 {
     if (activeAdapter != null)
     {
         activeAdapter.OnDocumentChanged(e);
     }
 }
Пример #2
0
        protected override void OnDocumentChange(DocumentChangeEventArgs document)
        {
            try
            {
                string[] lines = document.Contents.Split(new string[] { "\r\n" }, StringSplitOptions.None);

                bool[][] grid2 = new bool[lines.Length][];

                for (int y = 0; y < lines.Length; y++)
                {
                    var cells = lines[y].Split(',');
                    grid2[y] = new bool[cells.Length];

                    for (int x = 0; x < cells.Length; x++)
                    {
                        grid2[y][x] = (cells[x] == "1");
                    }
                }

                grid = grid2;
            }
            catch (Exception ex)
            {
                LogInfo(ex.ToString());
            }
        }
 internal void OnDocumentChanged(DocumentChangeEventArgs e)
 {
     if (DocumentChanged != null)
     {
         DocumentChanged(this, e);
     }
 }
Пример #4
0
 void document_Changed(object sender, DocumentChangeEventArgs e)
 {
     if (changed != null)
     {
         changed(this, new TextChangeEventArgs(e.Offset, e.RemovedText, e.InsertedText));
     }
 }
Пример #5
0
        internal void RevisionAdded(DocumentChange documentChange)
        {
            var rev = documentChange.WinningRevision;

            if (rev == null)
            {
                return;
            }
            // current revision didn't change
            if (currentRevision != null && !rev.GetRevId().Equals(currentRevision.Id))
            {
                currentRevision = new SavedRevision(this, rev);
            }

            var args = new DocumentChangeEventArgs {
                Change = documentChange,
                Source = this
            };

            var changeEvent = Change;

            if (changeEvent != null)
            {
                changeEvent(this, args);
            }
        }
Пример #6
0
 private void BufferChanged(object sender, DocumentChangeEventArgs args)
 {
     if (TextChanged != null)
     {
         TextChanged(this, EventArgs.Empty);
     }
 }
Пример #7
0
 internal void OnDocumentChanged(DocumentChangeEventArgs e)
 {
     InvalidateVisualColumn();
     if (storedCaretOffset >= 0)
     {
         // If the caret is at the end of a selection, we don't expand the selection if something
         // is inserted at the end. Thus we also need to keep the caret in front of the insertion.
         AnchorMovementType caretMovementType;
         if (!textArea.Selection.IsEmpty && storedCaretOffset == textArea.Selection.SurroundingSegment.EndOffset)
         {
             caretMovementType = AnchorMovementType.BeforeInsertion;
         }
         else
         {
             caretMovementType = AnchorMovementType.Default;
         }
         int          newCaretOffset = e.GetNewOffset(storedCaretOffset, caretMovementType);
         TextDocument document       = textArea.Document;
         if (document != null)
         {
             // keep visual column
             this.Position = new TextViewPosition(document.GetLocation(newCaretOffset), position.VisualColumn);
         }
     }
     storedCaretOffset = -1;
 }
        private void Document_Changed(object sender, DocumentChangeEventArgs e)
        {
            var converter = e.GetOffsetConverter();
            var newArr    = _debuggingColorizeAvalonEdit.BreakPoints
                            .Select(p => converter.GetNewOffset(p)).Where(IsEfectiveAt).Distinct().Where(p => p >= 0).ToArray();

            _debuggingColorizeAvalonEdit.BreakPoints.Clear();
            _debuggingColorizeAvalonEdit.BreakPoints.AddRange(newArr);

            _debuggingColorizeAvalonEdit.RunnningPosition
                = NearestEfectivOffset(converter.GetNewOffset(_debuggingColorizeAvalonEdit.RunnningPosition));


            //if (_debuggingColorizeAvalonEdit.RunnningPosition >= TextArea.Document.TextLength)
            //    _debuggingColorizeAvalonEdit.RunnningPosition = TextArea.Document.TextLength - 1;
            //if (_debuggingColorizeAvalonEdit.RunnningPosition < 0) return;

            //var currentChar = this.TextArea.Document.GetCharAt(_debuggingColorizeAvalonEdit.RunnningPosition);
            //if (!EffectiveCharacters.Characters.Contains(currentChar)) return;
            //else
            //{
            //    var loc = GetEditPlace(_debuggingColorizeAvalonEdit.RunnningPosition);
            //    var newLoc = NearestEfectivPosition(loc);
            //    _debuggingColorizeAvalonEdit.RunnningPosition = GetOffset(newLoc);
            //}
            this.TextArea.TextView.Redraw();
        }
Пример #9
0
        private void DocumentOnChanged(object sender, DocumentChangeEventArgs e)
        {
            try
            {
                int startLine = _document.GetLineByOffset(e.Offset).LineNumber - 1;
                int endLine   = startLine;
                if (e.InsertionLength > 0)
                {
                    endLine = _document.GetLineByOffset(e.Offset + e.InsertionLength).LineNumber - 1;

                    for (int i = startLine; i < endLine; i++)
                    {
                        AddLine(i);
                    }
                }

                _documentSnapshot.Update(e);

                if (startLine == 0)
                {
                    SetInvalidRange(startLine, endLine);
                    return;
                }

                // some grammars (JSON, csharp, ...)
                // need to invalidate the previous line too

                SetInvalidRange(startLine - 1, endLine);
            }
            catch (Exception ex)
            {
                _exceptionHandler?.Invoke(ex);
            }
        }
 public void UpdateOffsets(DocumentChangeEventArgs e)
 {
     if (TextTransformations != null)
     {
         TextTransformations.UpdateOffsets(e);
     }
 }
Пример #11
0
 void textDocument_Changed(object sender, DocumentChangeEventArgs e)
 {
     //OnPropertyChanged(new DependencyPropertyChangedEventArgs(Text2Property, null, Text));
     UpdateText = false;
     Text2      = Text;
     UpdateText = true;
 }
        void Document_Changed(object sender, DocumentChangeEventArgs e)
        {
            if (!this.IsUpdatedByUser)
            {
                return;
            }

            if (DocumentChanged != null)
            {
                if (e.RemovalLength > 0 && e.InsertionLength > 0)
                {
                    var e1 = new DocumentChangeEventArgs(e.Offset, e.RemovedText.Text, null);
                    var e2 = new DocumentChangeEventArgs(e.Offset, null, e.InsertedText.Text);

                    DocumentChanged(sender, new DocumentEventArgs {
                        DocumentName = this.DocumentName, Args = e1
                    });
                    DocumentChanged(sender, new DocumentEventArgs {
                        DocumentName = this.DocumentName, Args = e2
                    });
                }

                else
                {
                    DocumentChanged(sender, new DocumentEventArgs {
                        DocumentName = this.DocumentName, Args = e
                    });
                }
            }
        }
Пример #13
0
        // Handles text modifications in hidden document
        void UnderlyingDocument_TextReplacing(object sender, DocumentChangeEventArgs e)
        {
            if (razorDocument == null)
            {
                return;
            }

            EnsureUnderlyingDocumentSet();
            int off = CalculateCaretPosition(e.Offset);

            if (e.RemovalLength > 0)
            {
                int removalLength = e.RemovalLength;
                if (off + removalLength > HiddenDoc.Editor.Length)
                {
                    removalLength = HiddenDoc.Editor.Length - off;
                }
                HiddenDoc.Editor.Remove(new TextSegment(off, removalLength));
            }
            if (e.InsertionLength > 0)
            {
                if (isInCSharpContext)
                {
                    HiddenDoc.Editor.Insert(off, e.InsertedText.Text);
                }
                else                 // Insert spaces to correctly calculate offsets until next reparse
                {
                    HiddenDoc.Editor.Insert(off, new String(' ', e.InsertionLength));
                }
            }
            if (codeFragment != null)
            {
                codeFragment.EndOffset += (e.InsertionLength - e.RemovalLength);
            }
        }
Пример #14
0
 void Document_Changed(object sender, DocumentChangeEventArgs e)
 {
     if (Changed != null)
     {
         Changed(this, e);
     }
 }
 void textChanged(object sender, DocumentChangeEventArgs args)
 {
     if (args.Offset < currentEngine.Position)
     {
         ResetEngineToPosition(args.Offset);
     }
 }
Пример #16
0
 private void TextDocumentOnChanged(object sender, DocumentChangeEventArgs documentChangeEventArgs)
 {
     lock (mirroredText)
     {
         mirroredText.RemoveRange(documentChangeEventArgs.Offset, documentChangeEventArgs.RemovalLength);
         mirroredText.InsertRange(documentChangeEventArgs.Offset, documentChangeEventArgs.InsertedText.Text);
     }
 }
Пример #17
0
 void ILineTracker.ChangeComplete(DocumentChangeEventArgs e)
 {
     if (sendNextChangeEvents)
     {
         RaiseTextChanged(textChangedEvent);
         textChangedEvent = new TextChangedEvent();
     }
 }
Пример #18
0
 void HandleTextReplaced(object sender, DocumentChangeEventArgs e)
 {
     if (doc == null || doc.SuppressHighlightUpdate)
     {
         return;
     }
     Mono.TextEditor.Highlighting.SyntaxModeService.StartUpdate(doc, this, e.Offset, e.Offset + e.InsertionLength);
 }
Пример #19
0
 void HandleTextReplaced(object sender, DocumentChangeEventArgs e)
 {
     if (doc == null || doc.SuppressHighlightUpdate || doc.CurrentAtomicUndoOperationType == OperationType.Format)
     {
         return;
     }
     SyntaxModeService.StartUpdate(doc, this, e.Offset, e.Offset + e.InsertionLength);
 }
Пример #20
0
 private void onChanging(object sender, DocumentChangeEventArgs e)
 {
     if (!InAutomaticChange)
     {
         changedSegments = Segments.FindOverlappingSegments(e.Offset, e.RemovalLength);
         lastChange      = e;
     }
 }
        private void DocumentOnChanged(object sender, DocumentChangeEventArgs e)
        {
            SetCurrent();
            var textChangeRange = new TextChangeRange(
                new TextSpan(e.Offset, e.RemovalLength),
                e.RemovalLength == 0 ? e.InsertionLength : e.RemovalLength);

            OnTextChanged(new TextChangeEventArgs(_oldText, CurrentText, textChangeRange));
        }
        void HandleTextReplacing(object sender, DocumentChangeEventArgs e)
        {
            var handler = textChanging;

            if (handler != null)
            {
                handler(this, new MonoDevelop.Core.Text.TextChangeEventArgs(e.Offset, e.RemovedText.Text, e.InsertedText.Text));
            }
        }
Пример #23
0
 private void Document_Changed(object sender, DocumentChangeEventArgs e)
 {
     if (e.RemovedText.Text.Contains("}"))
     {
         int    offset = e.Offset - e.RemovalLength + e.RemovedText.Text.IndexOf("}");
         Block2 block  = GetCurBlock(offset);
         block.state = Block2.DEACTIVE;
     }
 }
Пример #24
0
        /// <inheritdoc/>
        public override Selection UpdateOnDocumentChange(DocumentChangeEventArgs e)
        {
            TextLocation newStartLocation = textArea.Document.GetLocation(e.GetNewOffset(topLeftOffset, AnchorMovementType.AfterInsertion));
            TextLocation newEndLocation   = textArea.Document.GetLocation(e.GetNewOffset(bottomRightOffset, AnchorMovementType.BeforeInsertion));

            return(new RectangleSelection(textArea,
                                          new TextViewPosition(newStartLocation, GetVisualColumnFromXPos(newStartLocation.Line, startXPos)),
                                          new TextViewPosition(newEndLocation, GetVisualColumnFromXPos(newEndLocation.Line, endXPos))));
        }
Пример #25
0
        static public SwapInfo?CreateFrom(DocumentChangeEventArgs e)
        {
            if (e is null)
            {
                return(null);
            }

            if (e.RemovalLength != e.InsertionLength)
            {
                return(null);
            }

            if (e.OffsetChangeMap.Count != 2)
            {
                return(null);
            }

            var x = e.OffsetChangeMap[1];
            var y = e.OffsetChangeMap[0];

            if (x.Offset > y.Offset)
            {
                (x, y) = (y, x);
            }

            if (x.InsertionLength != y.RemovalLength)
            {
                return(null);
            }
            if (y.InsertionLength != x.RemovalLength)
            {
                return(null);
            }


            var xOldText = e.RemovedText.Text.Substring(0, x.RemovalLength);
            var xNewText = e.InsertedText.Text.Substring(e.InsertionLength - x.RemovalLength);

            if (xOldText != xNewText)
            {
                return(null);
            }

            var yOldText = e.RemovedText.Text.Substring(e.RemovalLength - y.RemovalLength);
            var yNewText = e.InsertedText.Text.Substring(0, y.RemovalLength);

            if (yOldText != yNewText)
            {
                return(null);
            }

            var xNode = new SwapNode(x.Offset, xNewText);
            var yNode = new SwapNode(y.Offset, yNewText);

            return(new SwapInfo(xNode, yNode));
        }
Пример #26
0
        public void ChangeComplete(DocumentChangeEventArgs e)
        {
            if (_lineNumberRemoved > -1)
            {
                _bookmarkManager.AdjustLineOffsets(AdjustTypes.Deleted, _lineNumberRemoved, e.RemovalLength);
                _lineNumberRemoved = -1;
            }

            _bookmarkManager.RecalculateOffsets(_textArea, BookmarkType.Breakpoint, 1);
        }
Пример #27
0
 void HandleInfoDocumentTextEditorDataDocumentTextReplaced(object sender, DocumentChangeEventArgs e)
 {
     foreach (var data in localUpdate.ToArray())
     {
         data.Document.TextReplaced -= HandleDataDocumentTextReplaced;
         data.Replace(e.Offset, e.RemovalLength, e.InsertedText.Text);
         data.Document.TextReplaced += HandleDataDocumentTextReplaced;
         data.Document.CommitUpdateAll();
     }
 }
Пример #28
0
 /// <inheritdoc/>
 public override Selection UpdateOnDocumentChange(DocumentChangeEventArgs e)
 {
     if (e == null)
     {
         throw new ArgumentNullException("e");
     }
     return(new SimpleSelection(
                e.GetNewOffset(startOffset, AnchorMovementType.AfterInsertion),
                e.GetNewOffset(endOffset, AnchorMovementType.AfterInsertion)
                ));
 }
Пример #29
0
 /// <summary>
 /// Raises the <see cref="DocumentChanged"/> event.
 /// </summary>
 protected virtual void OnDocumentChanged_Detail(object sender, DocumentChangeEventArgs e)
 {
     if (isChangedByUser)
     {
         isChangedByUser = false;
     }
     else
     {
         DocumentChanged_Detail(this, e);
     }
 }
Пример #30
0
 static public IOffsetConverter GetOffsetConverter(this DocumentChangeEventArgs e)
 {
     if (e.TryCreateSwapInfo(out var swapInfo))
     {
         return(swapInfo !);
     }
     else
     {
         return(new OffsetChangeMapConverter(e.OffsetChangeMap));
     }
 }
Пример #31
0
        internal void RevisionAdded(DocumentChange documentChange)
        {
            var rev = documentChange.WinningRevision;
            if (rev == null)
            {
                return;
            }
            // current revision didn't change
            if (currentRevision != null && !rev.GetRevId().Equals(currentRevision.Id))
            {
                currentRevision = new SavedRevision(this, rev);
            }

            var args = new DocumentChangeEventArgs {
                Change = documentChange,
                Source = this
            } ;

            var changeEvent = Change;
            if (changeEvent != null)
                changeEvent(this, args);
        }
Пример #32
0
		void HandleTextReplaced (object sender, DocumentChangeEventArgs e)
		{
			if (doc == null || doc.SuppressHighlightUpdate || doc.CurrentAtomicUndoOperationType == OperationType.Format)
				return;
			SyntaxModeService.StartUpdate (doc, this, e.Offset, e.Offset + e.InsertionLength);
		}
Пример #33
0
		void HandleTextReplaced (object sender, DocumentChangeEventArgs e)
		{
			if (doc == null || doc.SuppressHighlightUpdate)
				return;
			Mono.TextEditor.Highlighting.SyntaxModeService.StartUpdate (doc, this, e.Offset, e.Offset + e.InsertionLength);
		}