// Action-creating event handlers...

        private void OnInsertText(object sender, InsertTextArgs args)
        {
            if (frozen_cnt == 0)
            {
                InsertAction action = new InsertAction(args.Pos, args.Text, args.Text.Length, chop_buffer);
                AddUndoAction(action);
            }
        }
        private void OnBufferInsertText(object o, InsertTextArgs args)
        {
            if (!isBufferInsertManual)
            {
                int    index     = args.Pos.Offset;
                string insertion = args.NewText;
                ExecuteInsertCommand(index, insertion);
            }

            ApplyTags();
            UpdateLineColStatus();
        }
Example #3
0
        private void OnBufferInsertText(object o, InsertTextArgs args)
        {
            TextInsertedHandler handler = TextInserted;

            if (handler != null)
            {
                TextInsertedArgs raise_args = new TextInsertedArgs();
                raise_args.Args = new object [] {
                    args.Text,
                    args.Length,
                    args.Pos.Offset
                };
                handler(this, raise_args);
            }
        }
Example #4
0
        void OnBufferInsertText(object o, InsertTextArgs args)
        {
            var handler = TextInserted;

            if (handler != null)
            {
                var raise_args = new TextInsertedArgs {
                    Args = new object[] {
                        args.Text,
                        args.Length,
                        args.Pos.Offset
                    }
                };
                handler(this, raise_args);
            }
        }
Example #5
0
        private void InsertTextHandler(object sender, InsertTextArgs args)
        {
            var startIt = args.Pos;

            if (startIt.BackwardChars(args.NewTextLength) &&          // Can go to start
                applyIter.Equals(startIt))
            {
                // User wants special applied tags here
                var endIt = args.Pos;
                Buffer.RemoveAllTags(startIt, endIt);
                foreach (var tag in activeTags)
                {
                    Buffer.ApplyTag(tag, startIt, endIt);
                }
                applyIter = endIt;                 // Add CursorPosition
            }
        }
        void OnInsertText(object sender, InsertTextArgs args)
        {
            int lines = 0;

            for (int i = 0; i < args.Text.Length; i++)
            {
                if (args.Text [i] == '\n')
                {
                    lines++;
                }
            }
            TextIter iter = this.GetIterAtOffset(args.Pos.Offset - args.Length);

            if (lines != 0)
            {
                OnLineCountChanged(iter.Line, lines, iter.LineOffset);
            }

            OnTextChanged(args.Pos.Offset, args.Pos.Offset + args.Length);
        }
        private void OnInsertText(object sender, InsertTextArgs args)
        {
            int    offset = args.Pos.Offset - args.Length;
            string text   = args.Text;

            TextIter previousIter = GetIterAtOffset(offset - 1);      // Previous is the iter before the insert offset.
            TextIter startIter    = GetIterAtOffset(offset);
            TextIter endIter      = GetIterAtOffset(offset + text.Length);

            // Only handle special inserting cases when we have a fully loaded document.
            if (document_loaded)
            {
                        #if DEBUG
                Console.WriteLine("DEBUG: Inserting: {0}", text);
                Console.WriteLine("DEBUG: Start Offset: {0} Char: {1}", startIter.Offset, startIter.Char);
                Console.WriteLine("DEBUG: End Offset: {0} Char: {1}", endIter.Offset, endIter.Char);
                        #endif

                TextTag lastEnd      = DocumentUtils.GetLastTag(endIter);
                TextTag lastPrevious = DocumentUtils.GetLastTag(previousIter);

                if (endIter.BeginsTag(lastEnd) && lastEnd.Editable)
                {
                                #if DEBUG
                    Console.WriteLine("DEBUG: Inserting text at start of editable region.");
                    Console.WriteLine("DEBUG: Tag Name: {0} Char: {1}", lastEnd.Name, endIter.Char);
                                #endif

                    ApplyTag(lastEnd, startIter, endIter);
                }
                else if (DocumentUtils.TagEndsHere(lastPrevious, previousIter, startIter) && lastPrevious.Editable)
                {
                                #if DEBUG
                    Console.WriteLine("DEBUG: Inserting text at end of editable region.");
                    Console.WriteLine("DEBUG: Tag Name: {0} Char: {1}", lastPrevious.Name, previousIter.Char);
                                #endif

                    ApplyTag(lastPrevious, startIter, endIter);
                }
            }
        }
Example #8
0
 private void OnTextBufferBackupOnInsertText(object o, InsertTextArgs args)
 {
     ScrollToEnd(_textViewBackup, _textBufferBackup);
 }
Example #9
0
 void InsertText(object o, InsertTextArgs args)
 {
     args.RetVal = args.Length <= _maxLength;
 }
 public void Buffer_InsertText(object o, InsertTextArgs args)
 {
     Modificado[count] = true;
     Caracteres.Text   = "Caracteres: " + Convert.ToString(Texto[count].Buffer.Text.Length);
     Lineas.Text       = "Lineas: " + Convert.ToString(Texto[count].Buffer.LineCount);
 }