gtk-sharp 2.12.0.0 Gtk# is thread aware, but not thread safe; See the Gtk# Thread Programming for details. GLib.Object This class stores formatted text for display in a .

The relationship between and objects is not necessarily one-to-one. All views must contain a buffer, but a buffer does not have to be assigned a view, and one buffer may be used by multiple views.

In the following example, a single object is shared between two widgets.

`using Gtk; public class TextBufferExample { public static void Main () { // Initialize GTK. Application.Init (); // Create a containing window. Window window = new Window ("TextBuffer Example"); window.DeleteEvent += OnDelete; window.SetDefaultSize (400, 300); // Create a buffer and vertical panes for the views. TextBuffer buffer = new TextBuffer (new TextTagTable ()); VPaned paned = new VPaned (); // Create a text view for the buffer, make it scrollable, and // add it to the first pane. TextView view1 = new TextView (buffer); ScrolledWindow scrolled_window1 = new ScrolledWindow (); scrolled_window1.Add (view1); paned.Add1 (scrolled_window1); // Create a second text view for the buffer, make it scrollable, // and add it to the second pane. TextView view2 = new TextView (buffer); ScrolledWindow scrolled_window2 = new ScrolledWindow (); scrolled_window2.Add (view2); paned.Add2 (scrolled_window2); // Add the panes to the window and show it. window.Add (paned); window.ShowAll (); // Run the application. Application.Run (); } // Quit when the window is closed. static void OnDelete (object o, DeleteEventArgs e) { Application.Quit (); } }`
- Constructor
  2.12.0.0
  System.Obsolete
  a
  Protected Constructor.
  Chain to this constructor if you have manually registered a native value for your subclass.
- Constructor
  2.12.0.0
  a tag table, or to create a new one
  Creates a new text buffer.
- Constructor
  2.12.0.0
  Pointer to the C object.
  Internal constructor

  This is an internal constructor, and should not be used by user code.

- Method
  2.12.0.0
  System.Void `` `` To be added. To be added. To be added. To be added.
- Method
  2.12.0.0
  System.Void `` an object of type Adds to the list of clipboards in which the selection contents of buffer are available. In most cases, clipboard will be the of type for a view of buffer.
- Method
  2.12.0.0
  System.Void `` `` `` a the beginning of the range to be tagged the end of the range to be tagged Fires the events on buffer.

  The default handler for the signal applies tag to the given range. and do not have to be in order.

- Method
  2.12.0.0
  System.Void `` `` `` the name of the tag the location of the beginning of the range the location of the end of the range Fires the event on buffer. The default handler for the signal applies tag to the given range.

  The order for and is not important.

- Method
  2.12.0.0
  System.Boolean `` `` `` a a a To be added a To be added
- Method
  2.12.0.0
  System.Void Called to indicate that the buffer operations between here and a call to are part of a single user-visible operation.

  The operations between and can then be grouped when creating an undo stack. maintains a count of calls to that have not been closed with a call to , and emits and signals only for the outermost pair of calls. This allows you to build user actions from other user actions.

  The "interactive" buffer mutation functions, such as , automatically call begin/end user action around the buffer operations they perform, so there is no need to add extra calls if you user action consists solely of a single call to one of those functions.

- Event
  2.12.0.0
  GLib.Signal("changed")
  System.EventHandler Emitted when the text in the buffer has been changed.
- Property
  2.12.0.0
  System.Int32 The number of characters in the buffer The number of characters in the buffer

  The result of this method is cached, so it is very fast.

- Event
  2.12.0.0
  GLib.Signal("insert_child_anchor")
  Gtk.ChildAnchorInsertedHandler Emitted when a ChildAnchor has been inserted in the buffer.
- Method
  2.12.0.0
  System.Void Clears the contents of the buffer
- Method
  2.12.0.0
  System.Void `` The to copy the text to. Copies the buffer's selected text to the given .

  Copying a 's selected text:

  `void Copy (Gtk.TextView view) { Gtk.TextBuffer buffer = view.Buffer; Gtk.Clipboard board = Clipboard.Get (Gdk.Selection.Clipboard); buffer.CopyClipboard (board); }`
- Property
  2.12.0.0
  GLib.Property("copy-target-list")
  Gtk.TargetList Obtains the copy TargetList. a .
- Method
  2.12.0.0
  Gtk.TextChildAnchor `` the location in the buffer This is a convenience function which simply creates a child anchor with and inserts it into the buffer with . the created child anchor

  This is a convenience function which simply creates a child anchor with and inserts it into the buffer with . The new anchor is owned by the buffer; no reference count is returned to the caller of .

- Method
  2.12.0.0
  Gtk.TextMark `` `` `` name for mark, or . To be added. whether the mark has left gravity Creates a mark at position . a new object

  Creates a mark at position . If is , the mark is anonymous; otherwise, the mark can be retrieved by name using . If a mark has left gravity, and text is inserted at the current location of the mark, the mark will be moved to the left of the newly-inserted text. If the mark has right gravity (ie. = ), the mark will end up on the right of newly-inserted text. The standard left-to-right cursor is a mark with right gravity (when you type, the cursor stays on the right side of the text you are typing).

  Fires the event as notification of the initial placement of the mark.

- Property
  2.12.0.0
  GLib.Property("cursor-position")
  System.Int32 Position of the insert mark. a representing the offset to the cursor from the beginning of the buffer.
- Method
  2.12.0.0
  System.Void `` `` an object of type an object of type Copies the currently-selected text to a clipboard, then deletes said text if it is editable.
- Method
  2.12.0.0
  System.Obsolete("Replaced by 'ref TextIter, ref TextIter' overload")
  System.Void `` `` To be added. To be added. Delete text between two iterators. This overload is obsolete, replaced by ref TextIter overloads since the iters passed in are updated by the caller.
- Method
  2.12.0.0
  System.Void `` `` a position in the buffer a position in the buffer Deletes text between and .

  Deletes text between and . The order of the two is not actually relevant, as they will be reordered. This function actually fires off the event, and the default handler of that signal deletes the text. Because the buffer is modified, all outstanding iterators become invalid after calling this function; however, and will be re-initialized to point to the location where text was deleted.

- Method
  2.12.0.0
  System.Boolean `` `` `` the beginning of range to delete the end of the range to delete whether the buffer is editable by default Deletes all editable text in the given range. whether some text was actually deleted

  Deletes all editable text in the given range. Calls for each editable sub-range of and . and are revalidated to point to the location of the last deleted range, or left untouched if no text was deleted.

- Method
  2.12.0.0
  System.Void `` a in the buffer to be deleted. Deletes mark, so that it is no longer located anywhere in the buffer.

  Deletes mark, so that it is no longer located anywhere in the buffer. There is no way to undelete a mark. will return after this function has been called on a mark; indicates that a mark no longer belongs to a buffer. The event will be raised as notification after the mark is deleted.

- Method
  2.12.0.0
  System.Void `` the name of a mark in buffer Deletes the mark named ; the mark must exist.

  See for more details.

- Event
  2.12.0.0
  GLib.Signal("delete_range")
  Gtk.DeleteRangeHandler Emitted when a range of text has been deleted from the buffer.
- Method
  2.12.0.0
  System.Boolean `` `` whether the deletion is caused by user interaction whether the buffer is editable by default Deletes the currently-selected text whether there was a non-empty selection to delete

  Deletes the range between the "insert" and "selection_bound" marks, that is, the currently-selected text. If is , the editability of the selection will be considered (users can't delete uneditable text).

- Method
  2.12.0.0
  System.Boolean `` `` `` `` `` buffer to deserialize content. MIME type format. insertion point. serialized data. length of serialized data. Deserialize content. a .
- Property
  2.12.0.0
  Gdk.Atom[] The supported MIME type formats for deserialization. an array of MIME type Atoms.
- Method
  2.12.0.0
  System.Boolean `` a MIME type Atom. Determines if tag creation is supported for a MIME type deserializer. if , tag creation is supported.
- Method
  2.12.0.0
  System.Void `` `` a MIME type Atom. a . Enables or disables arbitrary tag creation. In most cases, you don't want to do this, as it will put arbitrary tags in the buffer.
- Property
  2.12.0.0
  Gtk.TextIter The end of the buffer The location of the end of the buffer
- Method
  2.12.0.0
  System.Void Should be paired with a call to . See for an explanation.
- Method
  2.12.0.0
  System.Void `` `` A object to store the location of the beginning of the buffer. A object to store the location of the end of the buffer. Retrieves the first and last iterators in the buffer, i.e. the entire buffer.
- Method
  2.12.0.0
  Gtk.TextIter `` A at the current buffer. Gets the location of the specific anchor. The location at .
- Method
  2.12.0.0
  Gtk.TextIter `` The specified line number. Gets the location of a particular line. The location at the beginning fo the line as specified by .
- Method
  2.12.0.0
  Gtk.TextIter `` `` A line number for the current buffer, counting from 0. The byte index from start of line. Obtains an iterator pointing to within the given line. The location as specified by and .

  must be the start of a UTF-8 character, and must not be beyond the end of the line. Note bytes, not characters; UTF-8 may encode one character as multiple bytes.

- Method
  2.12.0.0
  Gtk.TextIter `` `` a a Gets the location of a specific point. The location at the location specified by and .
- Method
  2.12.0.0
  Gtk.TextIter `` The specified mark. Gets the location of the specified mark. The location of .
- Method
  2.12.0.0
  Gtk.TextIter `` The requested character offset Returns the location at a particular character offset The location at
- Method
  2.12.0.0
  Gtk.TextMark `` the name of a mark Returns the mark named name in buffer buffer, or if no such mark exists in the buffer. Returns the mark named name in buffer buffer, or if no such mark exists in the buffer.
- Method
  2.12.0.0
  System.Boolean `` `` the location of the beginning of the selection the location of the end of the selection Returns if some text is selected Returns if the selection has nonzero length

  Returns if some text is selected; and sets the bounds of the selection in and (if the selection has length 0, then start and end are filled in with the same value). and will be in ascending order. If and are , then they are not filled in, but the return value still indicates whether text is selected.

- Method
  2.12.0.0
  System.String `` `` `` the start of a range the end of the range whether to include invisible text Returns the text from to . a string containing the text from to

  Returns the text in the range from to . Excludes undisplayed text (text marked with tags that set the invisibility attribute) if is . The returned string includes a 0xFFFC character whenever the buffer contains embedded images, so byte and character indexes into the returned string do correspond to byte and character indexes into the buffer. Contrast with . Note that 0xFFFC can occur in normal text as well, so it is not a reliable indicator that a pixbuf or widget is in the buffer.

- Method
  2.12.0.0
  System.String `` `` `` the beginning of the specified range the end of the specified range whether to include invisible text Returns the text from a specified range a string containing the text from the specified range

  Returns the text in the range specified by and . Excludes undisplayed text (text marked with tags that set the invisibility attribute) if is . Does not include characters representing embedded images, so byte and character indexes into the returned string do not correspond to byte and character indexes into the buffer.

  Contrast this with .

- Property
  2.12.0.0
  GLib.GType GType Property. a Returns the native value for .
- Property
  2.12.0.0
  GLib.Property("has-selection")
  System.Boolean Indicates presence of a selection. if , there is text selected currently.
- Method
  2.12.0.0
  System.Obsolete("Replaced by 'ref TextIter iter' overload")
  System.Void `` `` To be added. To be added. Inserts text. The overload is obsolete, replace by the ref TextIter overload.
- Method
  2.12.0.0
  System.Void `` `` The location for to be inserted The text to be inserted Insert text at a specific point
- Method
  2.12.0.0
  System.Void `` The text to be inserted Insert text into the current cursor position

  The event is raised when a call to this method is made.

- Method
  2.12.0.0
  System.Void `` `` location to insert the anchor a . Inserts a child widget anchor into the text buffer.

  Inserts a child widget anchor into the text buffer at . The anchor will be counted as one character in character counts, and when obtaining the buffer contents as a string, will be represented by the Unicode "object replacement character" 0xFFFC. Note that the "slice" variants for obtaining portions of the buffer as a string include this character for pixbufs, but the "text" variants do not. e.g. see and ). Consider as a more convenient alternative to this function. The buffer will add a reference to the anchor, so you can unref it after insertion.

- Method
  2.12.0.0
  System.Boolean `` `` `` a location in the buffer the text to be inserted the default editability of buffer Insert text if the cursor is at an editable point in the buffer whether text was actually inserted

  Similar to , but the insertion will not occur if is at a non-editable location in the buffer. Usually you want to prevent insertions at ineditable locations if the insertion results from a user action (is interactive).

  indicates the editability of text that does not have a tag affecting editability applied to it. Typically the result of is appropriate here.

- Method
  2.12.0.0
  System.Boolean `` `` The text to be inserted The default editability of the buffer Insert text at cursor position if the location is editable Whether or not was inserted See for more details.
- Property
  2.12.0.0
  Gtk.TextMark Returns the mark that represents the cursor (insertion point). The mark of the insert point.

  This is equivelant to calling for the mark named "insert".

- Method
  2.12.0.0
  System.Void `` `` The location to insert the image The image to be inserted Inserts an image into the text buffer at .

  Inserts an image into the text buffer at . The image will be counted as one character in character counts, and when obtaining the buffer contents as a string, will be represented by the Unicode "object replacement character" 0xFFFC. Note that the "slice" variants for obtaining portions of the buffer as a string include this character for pixbufs, but the "text" variants do not. e.g. see and .

- Method
  2.12.0.0
  System.Obsolete("Replaced by 'ref TextIter iter' overload")
  System.Void `` `` `` To be added. To be added. To be added. Inserts a range of text. This overload is obsolete, replaced by ref TextIter overloads since the iters passed in are updated by the caller.
- Method
  2.12.0.0
  System.Void `` `` `` a position in buffer a position in the source a position in the source Copies text, tags, and pixbufs between and and inserts the copy at .

  Copies text, tags, and pixbufs between and (the order does not matter) and inserts the copy at . Used instead of simply getting/inserting text because it preserves images and tags. If and are in a different buffer from buffer, the two buffers must share the same tag table.

  This method is implemented with the and events.

- Method
  2.12.0.0
  System.Boolean `` `` `` `` a position in buffer a position in the source a position in the source whether the text is editable at if no tags enclosing iter affect editability Same as , but does nothing if the insertion point is not editable. if an insertion was possible at

  Same as , but does nothing if the insertion point is not editable.

  The parameter indicates whether the text is editable at if no tags enclosing iter affect editability. Typically the result of is appropriate here.

- Event
  2.12.0.0
  GLib.Signal("insert_text")
  Gtk.InsertTextHandler Emitted when text is inserted into the buffer.
- Method
  2.12.0.0
  System.Obsolete("Replaced by 'ref TextIter iter' overload")
  System.Void `` `` `System.ParamArray` To be added. To be added. To be added. Inserts text with tag information. The overload is obsolete, replace by the ref TextIter overload.
- Method
  2.12.0.0
  System.Void `` `` `System.ParamArray` location to insert the text text to insert tags to apply to Inserts into buffer at , applying the list of to the newly-inserted text. Equivalent to calling , then on the inserted text; It is just a convenience function.
- Method
  2.12.0.0
  System.Void `` `` `System.ParamArray` location to insert the text text to insert names of the tags to apply to Inserts into buffer at , applying the list of tags with names to the newly-inserted text. Equivalent to calling , then on the inserted text; It is just a convenience function.
- Property
  2.12.0.0
  System.Int32 Obtains the number of lines in the buffer. The number of lines in the buffer

  The results of this method is cached, so this is very fast.

- Event
  2.12.0.0
  GLib.Signal("mark_deleted")
  Gtk.MarkDeletedHandler Emitted when a mark has been deleted from the buffer.
- Event
  2.12.0.0
  GLib.Signal("mark_set")
  Gtk.MarkSetHandler Emitted when a mark is set in the buffer.
- Property
  2.12.0.0
  System.Boolean Whether or not the buffer has been modified if the buffer has been modified, otherwise.

  Whenever the buffer is saved to disk, set this property to . When the buffer is modified, it will automatically toggled to .

  Whenever this property is changed, the event is raised.

- Event
  2.12.0.0
  GLib.Signal("modified_changed")
  System.EventHandler Emitted when the Modified status of the buffer is changed.
- Method
  2.12.0.0
  System.Void `` `` a . To be added. Moves mark to the new location .

  Moves mark to the new location where. Fires the event as notification of the move.

- Method
  2.12.0.0
  System.Void `` `` the name of the mark To be added. Moves the mark named (which must exist) to location .

  It is possible to use built-in marks to implement a "Select All" method on a buffer (e.g. ).

  `private void SelectAll (TextBuffer buffer) { buffer.MoveMark ("insert", buffer.StartIter); buffer.MoveMark ("selection_bound", buffer.EndIter); }`

  See for more details.

- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverrideChanged", Type=typeof(Gtk.TextBuffer))
  System.Void Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverrideChildAnchorInserted", Type=typeof(Gtk.TextBuffer))
  System.Void `` `` a a Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverrideDeleteRange", Type=typeof(Gtk.TextBuffer))
  System.Void `` `` a a Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverrideInsertText", Type=typeof(Gtk.TextBuffer))
  System.Void `` `` a a Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverrideMarkDeleted", Type=typeof(Gtk.TextBuffer))
  System.Void `` a Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverrideMarkSet", Type=typeof(Gtk.TextBuffer))
  System.Void `` `` a a Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverrideModifiedChanged", Type=typeof(Gtk.TextBuffer))
  System.Void Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverridePixbufInserted", Type=typeof(Gtk.TextBuffer))
  System.Void `` `` a a Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverrideTagApplied", Type=typeof(Gtk.TextBuffer))
  System.Void `` `` `` a a a Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverrideTagRemoved", Type=typeof(Gtk.TextBuffer))
  System.Void `` `` `` a a a Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverrideUserActionBegun", Type=typeof(Gtk.TextBuffer))
  System.Void Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  GLib.DefaultSignalHandler(ConnectionMethod="OverrideUserActionEnded", Type=typeof(Gtk.TextBuffer))
  System.Void Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  2.12.0.0
  System.Void `` a Pastes the contents of a clipboard at the insertion point.
- Method
  2.12.0.0
  System.Void `` `` `` the to paste from the location to insert pasted text, or for at the cursor whether the buffer is editable by default Pastes the contents of a clipboard at the insertion point, or at . Pastes the contents of a clipboard at the insertion point, or at . (Note: pasting is asynchronous, that is, we will ask for the paste data and return, and at some point later after the main loop runs, the paste data will be inserted.)
- Property
  2.12.0.0
  GLib.Property("paste-target-list")
  Gtk.TargetList Obtains the paste TargetList. a .
- Event
  2.12.0.0
  GLib.Signal("insert_pixbuf")
  Gtk.PixbufInsertedHandler Emitted when a Pixbuf is inserted into the buffer.
- Method
  2.12.0.0
  System.Void `` where to put the cursor Moves the "insert" and "selection_bound" marks simultaneously.

  This function moves the "insert" and "selection_bound" marks simultaneously. If you move them to the same place in two steps with , you will temporarily select a region in between their old and new locations, which can be pretty inefficient since the temporarily-selected region will force stuff to be recalculated. This function moves them as a unit, which can be optimized.

- Method
  2.12.0.0
  Gdk.Atom `` `` a MIME type target. Serialization formatter for the specified . Registers a deserialization handler for a given MIME type. an atom representing the MIME type.
- Method
  2.12.0.0
  Gdk.Atom `` name of tagset, or . Registers TextBuffer's internal serialization format. The newly registered format's mime type.
- Method
  2.12.0.0
  Gdk.Atom `` `` A MIME type target. Serialization formatter for the specified . Registers a serialization formatter for a given MIME type.
- Method
  2.12.0.0
  Gdk.Atom `` name of tagset, or . Registers TextBuffer's internal serialization format. The newly registered format's mime type.
- Method
  2.12.0.0
  System.Void `` `` The beginning of the range The end of the range Removes all tags in the range between and .

  Removes all tags in the range between start and end. Be careful with this function; it could remove tags added in code unrelated to the code you are currently writing. That is, calling this method is probably a bad idea if you have two or more unrelated code sections that add tags.

- Method
  2.12.0.0
  System.Void `` an object of type Removes a added with .
- Method
  2.12.0.0
  System.Void `` `` `` the to remove the beginning of the range the end of the range Fires the events and removes all occurrences of from the given range

  Fires the event. The default handler for the signal removes all occurrences of tag from the given range. and .

- Method
  2.12.0.0
  System.Void `` `` `` the name of the tag the beginning of the buffer to be untagged the end of the buffer to be untagged Calls on the buffer's tag table to get a , then calls
- Property
  2.12.0.0
  Gtk.TextMark Returns the mark that represents the selection bound. a

  Returns the mark that represents the selection bound. Equivalent to calling to get the mark named "selection_bound", but very slightly more efficient, and involves less typing.

  The currently-selected text in buffer is the region between the "selection_bound" and "insert" marks. If "selection_bound" and "insert" are in the same place, then there is no current selection. is another convenient function for handling the selection, if you just want to know whether there is a selection and what its bounds are.

- Method
  2.12.0.0
  System.Void `` `` a a This function moves the and marks simultaneously. If you move them in two steps with , you will temporarily select a region in between their old and new locations, which can be pretty inefficient since the temporarily-selected region will force stuff to be recalculated. This function moves them as a unit, which can be optimized.
- Method
  2.12.0.0
  System.Byte[] `` `` `` `` buffer containing text to serialize. MIME type format. beginning of desired text. end of desired text. Serializes a range of text. the serialized data stream.
- Property
  2.12.0.0
  Gdk.Atom[] The supported MIME type formats for Serialization. an array of MIME type Atoms.
- Method
  2.12.0.0
  System.Obsolete("Use the TextBuffer.Text property's setter")
  System.Void `` The new contents of the buffer Set the contents of the buffer

  This is equivelant to using the setter of the property.

- Property
  2.12.0.0
  Gtk.TextIter The location of the beginning of the buffer The location of the beginning of the buffer

  This is the equivelant to calling to get the iter at character offset 0.

- Event
  2.12.0.0
  GLib.Signal("apply_tag")
  Gtk.TagAppliedHandler Emitted when a tag is applied to the buffer.
- Event
  2.12.0.0
  GLib.Signal("remove_tag")
  Gtk.TagRemovedHandler Emitted when a tag is removed from the buffer.
- Property
  2.12.0.0
  GLib.Property("tag-table")
  Gtk.TextTagTable The tag table of the current buffer The current of the buffer
- Property
  2.12.0.0
  GLib.Property("text")
  System.String The complete contents of the buffer The contents of the current buffer
- Method
  2.12.0.0
  System.Void `` format Atom for a MIME type. Removes a registered MIME type handler from the buffer.
- Method
  2.12.0.0
  System.Void `` format to unregister. Removes a Serialization format from the registry.
- Event
  2.12.0.0
  GLib.Signal("begin_user_action")
  System.EventHandler Emitted when a UserAction is begun on the buffer.
- Event
  2.12.0.0
  GLib.Signal("end_user_action")
  System.EventHandler Emitted when a UserAction ends on the buffer.