gtksourceviewmm  3.21.3
Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gsv::Buffer Class Reference

Buffer object for View. More...

#include <gtksourceviewmm/buffer.h>

Inheritance diagram for Gsv::Buffer:
Inheritance graph
[legend]

Public Member Functions

 Buffer (Buffer&& src) noexcept
 
Bufferoperator= (Buffer&& src) noexcept
 
 ~Buffer () noexceptoverride
 
GtkSourceBuffer* gobj ()
 Provides access to the underlying C GObject. More...
 
const GtkSourceBuffer* gobj () const
 Provides access to the underlying C GObject. More...
 
GtkSourceBuffer* gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
bool get_highlight_matching_brackets () const
 Determines whether bracket match highlighting is activated for the source buffer. More...
 
void set_highlight_matching_brackets (bool highlight=true)
 Controls the bracket match highlighting function in the buffer. More...
 
bool get_highlight_syntax () const
 Determines whether syntax highlighting is activated in the source buffer. More...
 
void set_highlight_syntax (bool highlight=true)
 Controls whether syntax is highlighted in the buffer. More...
 
int get_max_undo_levels () const
 Determines the number of undo levels the buffer will track for buffer edits. More...
 
void set_max_undo_levels (int max_undo_levels=true)
 Sets the number of undo levels for user actions the buffer will track. More...
 
Glib::RefPtr< Languageget_language ()
 Returns the Language associated with the buffer. More...
 
Glib::RefPtr< const Languageget_language () const
 Returns the Language associated with the buffer. More...
 
void set_language (const Glib::RefPtr< Language >& language)
 Associate a Language with the source buffer. More...
 
bool can_undo () const
 Determines whether a source buffer can undo the last action. More...
 
bool can_redo () const
 Determines whether a source buffer can redo the last action (i.e. if the last operation was an undo). More...
 
void undo ()
 Undoes the last user action which modified the buffer. More...
 
void redo ()
 Redoes the last undo operation. More...
 
void begin_not_undoable_action ()
 Marks the beginning of a not undoable action on the buffer, disabling the undo manager. More...
 
void end_not_undoable_action ()
 Marks the end of a not undoable action on the buffer. More...
 
bool backward_iter_to_source_mark (Gtk::TextIter& iter, const Glib::ustring& category)
 Moves iter to the position of the previous Mark of the given category. More...
 
bool backward_iter_to_source_mark (Gtk::TextIter& iter)
 Moves iter to the position of the previous Mark of any category. More...
 
bool forward_iter_to_source_mark (Gtk::TextIter& iter, const Glib::ustring& category)
 Moves iter to the position of the next Mark of the given category. More...
 
bool forward_iter_to_source_mark (Gtk::TextIter& iter)
 Moves iter to the position of the next Mark of the given category. More...
 
void ensure_highlight (const Gtk::TextIter&start, const Gtk::TextIter&end)
 Forces buffer to analyze and highlight the given area synchronously. More...
 
Glib::RefPtr< StyleSchemeget_style_scheme ()
 Returns the StyleScheme currently used in buffer. More...
 
Glib::RefPtr< const StyleSchemeget_style_scheme () const
 Returns the StyleScheme currently used in buffer. More...
 
void set_style_scheme (const Glib::RefPtr< StyleScheme >& scheme)
 Sets style scheme used by the buffer. More...
 
void unset_style_scheme ()
 Unsets style scheme used by the buffer. More...
 
Glib::RefPtr< Gsv::Markcreate_source_mark (const Glib::ustring& name, const Glib::ustring& category, const Gtk::TextIter& where)
 Creates a source mark in the buffer of category category. More...
 
Glib::RefPtr< Gsv::Markcreate_source_mark (const Glib::ustring& category, const Gtk::TextIter& where)
 Creates an anonymous source mark in the buffer of category category. More...
 
std::vector< Glib::RefPtr< Gsv::Mark > > get_source_marks_at_line (int line, const Glib::ustring& category) const
 Returns the list of marks of the given category at line. More...
 
std::vector< Glib::RefPtr< Gsv::Mark > > get_source_marks_at_line (int line) const
 Returns the list of marks of any category at line. More...
 
std::vector< Glib::RefPtr< Gsv::Mark > > get_source_marks_at_iter (Gtk::TextIter& iter, const Glib::ustring& category) const
 Returns the list of marks of the given category at iter. More...
 
std::vector< Glib::RefPtr< Gsv::Mark > > get_source_marks_at_iter (Gtk::TextIter& iter) const
 Returns the list of marks of any category at iter. More...
 
void remove_source_marks (const Gtk::TextIter&start, const Gtk::TextIter&end, const Glib::ustring& category)
 Remove all marks of category between start and end from the buffer. More...
 
void remove_source_marks (const Gtk::TextIter&start, const Gtk::TextIter&end)
 Remove all marks of any category between start and end from the buffer. More...
 
bool iter_has_context_class (const Gtk::TextIter& iter, const Glib::ustring& context_class) const
 Check if the class context_class is set on iter. More...
 
bool iter_backward_to_context_class_toggle (Gtk::TextIter& iter, const Glib::ustring& context_class) const
 Moves backward to the next toggle (on or off) of the context class. More...
 
bool iter_forward_to_context_class_toggle (Gtk::TextIter& iter, const Glib::ustring& context_class) const
 Moves forward to the next toggle (on or off) of the context class. More...
 
std::vector< Glib::ustringget_context_classes_at_iter (const Gtk::TextIter& iter) const
 Get all defined context classes at iter. More...
 
Glib::RefPtr< UndoManagerget_undo_manager ()
 Get the undo manager associated with the buffer. More...
 
Glib::RefPtr< const UndoManagerget_undo_manager () const
 Get the undo manager associated with the buffer. More...
 
void set_undo_manager (const Glib::RefPtr< const UndoManager >& undo_manager)
 Set the buffer undo manager. More...
 
void set_default_undo_manager ()
 Set the default buffer undo manager. More...
 
Glib::PropertyProxy< bool > property_highlight_syntax ()
 Whether to highlight syntax in the buffer. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_highlight_syntax () const
 Whether to highlight syntax in the buffer. More...
 
Glib::PropertyProxy< bool > property_highlight_matching_brackets ()
 Whether to highlight matching brackets. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_highlight_matching_brackets () const
 Whether to highlight matching brackets. More...
 
Glib::PropertyProxy< int > property_max_undo_levels ()
 Number of undo levels for the buffer. More...
 
Glib::PropertyProxy_ReadOnly< int > property_max_undo_levels () const
 Number of undo levels for the buffer. More...
 
Glib::PropertyProxy< Glib::RefPtr< Language > > property_language ()
 Language object to get highlighting patterns from. More...
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Language > > property_language () const
 Language object to get highlighting patterns from. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_can_undo () const
 Whether Undo operation is possible. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_can_redo () const
 Whether Redo operation is possible. More...
 
Glib::PropertyProxy< Glib::RefPtr< StyleScheme > > property_style_scheme ()
 Style scheme. More...
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< StyleScheme > > property_style_scheme () const
 Style scheme. More...
 
Glib::PropertyProxy< Glib::RefPtr< UndoManager > > property_undo_manager ()
 The buffer undo manager. More...
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< UndoManager > > property_undo_manager () const
 The buffer undo manager. More...
 
Glib::SignalProxy< void, Gtk::TextIter&, Gtk::TextIter& > signal_highlight_updated ()
 Emitted whenever the syntax highlighting information has been updated, so that views can request a redraw if the region changed is visible. More...
 
Glib::SignalProxy< void, const Glib::RefPtr< Gtk::TextMark >& > signal_source_mark_updated ()
 Emitted whenever a marker of sourcebuffer has changed and needs to be redisplayed by the view. More...
 
Glib::SignalProxy< void > signal_undo ()
 Emitted whenever undo is requested. More...
 
Glib::SignalProxy< void > signal_redo ()
 Emitted whenever redo is requested. More...
 
Glib::SignalProxy< void, Gtk::TextIter&, BracketMatchTypesignal_bracket_matched ()
 Sets iter to a valid iterator pointing to the matching bracket if state is BracketMatchType::BRACKET_MATCH_FOUND. More...
 
void set_implicit_trailing_newline (bool implicit_trailing_newline=true)
 Sets whether the buffer has an implicit trailing newline. More...
 
bool get_implicit_trailing_newline () const
 
Glib::PropertyProxy< bool > property_implicit_trailing_newline ()
 
Glib::PropertyProxy_ReadOnly< bool > property_implicit_trailing_newline () const
 
- Public Member Functions inherited from Gtk::TextBuffer
 TextBuffer (TextBuffer &&src) noexcept
 
TextBufferoperator= (TextBuffer &&src) noexcept
 
 ~TextBuffer () noexceptoverride
 
GtkTextBuffer * gobj ()
 
const GtkTextBuffer * gobj () const
 
GtkTextBuffer * gobj_copy ()
 
int get_line_count () const
 
int get_char_count () const
 
int size () const
 
Glib::RefPtr< TextBuffer::TagTableget_tag_table ()
 
Glib::RefPtr< const TextBuffer::TagTableget_tag_table () const
 
void set_text (const Glib::ustring &text)
 
void set_text (const char *text_begin, const char *text_end)
 
iterator insert (const iterator &pos, const Glib::ustring &text)
 
iterator insert (const iterator &pos, const char *text_begin, const char *text_end)
 
void insert_at_cursor (const Glib::ustring &text)
 
void insert_at_cursor (const char *text_begin, const char *text_end)
 
std::pair< iterator, bool > insert_interactive (const iterator &pos, const Glib::ustring &text, bool default_editable=true)
 
std::pair< iterator, bool > insert_interactive (const iterator &pos, const char *text_begin, const char *text_end, bool default_editable=true)
 
bool insert_interactive_at_cursor (const Glib::ustring &text, bool default_editable=true)
 
bool insert_interactive_at_cursor (const char *text_begin, const char *text_end, bool default_editable=true)
 
iterator insert (const iterator &pos, const iterator &range_begin, const iterator &range_end)
 
std::pair< iterator, bool > insert_interactive (const iterator &pos, const iterator &range_begin, const iterator &range_end, bool default_editable=true)
 
iterator insert_with_tag (const iterator &pos, const Glib::ustring &text, const Glib::RefPtr< Tag > &tag)
 
iterator insert_with_tag (const iterator &pos, const char *text_begin, const char *text_end, const Glib::RefPtr< Tag > &tag)
 
iterator insert_with_tag (const iterator &pos, const Glib::ustring &text, const Glib::ustring &tag_name)
 
iterator insert_with_tag (const iterator &pos, const char *text_begin, const char *text_end, const Glib::ustring &tag_name)
 
iterator insert_with_tags (const iterator &pos, const Glib::ustring &text, const std::vector< Glib::RefPtr< Tag > > &tags)
 
iterator insert_with_tags (const iterator &pos, const char *text_begin, const char *text_end, const std::vector< Glib::RefPtr< Tag > > &tags)
 
iterator insert_with_tags_by_name (const iterator &pos, const Glib::ustring &text, const std::vector< Glib::ustring > &tag_names)
 
iterator insert_with_tags_by_name (const iterator &pos, const char *text_begin, const char *text_end, const std::vector< Glib::ustring > &tag_names)
 
iterator insert_markup (const iterator &pos, const Glib::ustring &markup)
 
iterator insert_markup (const iterator &pos, const char *markup_begin, const char *markup_end)
 
iterator erase (const iterator &range_begin, const iterator &range_end)
 
std::pair< iterator, bool > erase_interactive (const iterator &range_begin, const iterator &range_end, bool default_editable=true)
 
iterator backspace (const iterator &iter, bool interactive=true, bool default_editable=true)
 
Glib::ustring get_text (const iterator &range_start, const iterator &range_end, bool include_hidden_chars=true) const
 
Glib::ustring get_text (bool include_hidden_chars=true) const
 
Glib::ustring get_slice (const iterator &range_start, const iterator &range_end, bool include_hidden_chars=true) const
 
iterator insert_pixbuf (const iterator &pos, const Glib::RefPtr< Gdk::Pixbuf > &pixbuf)
 
iterator insert_child_anchor (const iterator &pos, const Glib::RefPtr< ChildAnchor > &anchor)
 
Glib::RefPtr< ChildAnchorcreate_child_anchor (const iterator &pos)
 
void add_mark (const Glib::RefPtr< TextBuffer::Mark > &mark, const iterator &where)
 
Glib::RefPtr< TextBuffer::Markcreate_mark (const Glib::ustring &mark_name, const iterator &where, bool left_gravity=true)
 
Glib::RefPtr< Markcreate_mark (const iterator &where, bool left_gravity=true)
 
void move_mark (const Glib::RefPtr< Mark > &mark, const iterator &where)
 
void delete_mark (const Glib::RefPtr< Mark > &mark)
 
Glib::RefPtr< TextBuffer::Markget_mark (const Glib::ustring &name)
 
Glib::RefPtr< const TextBuffer::Markget_mark (const Glib::ustring &name) const
 
void move_mark_by_name (const Glib::ustring &name, const iterator &where)
 
void delete_mark_by_name (const Glib::ustring &name)
 
Glib::RefPtr< TextBuffer::Markget_insert ()
 
Glib::RefPtr< TextBuffer::Markget_selection_bound ()
 
void place_cursor (const iterator &where)
 
void apply_tag (const Glib::RefPtr< Tag > &tag, const iterator &range_start, const iterator &range_end)
 
void remove_tag (const Glib::RefPtr< Tag > &tag, const iterator &range_start, const iterator &range_end)
 
void apply_tag_by_name (const Glib::ustring &name, const iterator &range_start, const iterator &range_end)
 
void remove_tag_by_name (const Glib::ustring &name, const iterator &range_start, const iterator &range_end)
 
void remove_all_tags (const iterator &range_start, const iterator &range_end)
 
Glib::RefPtr< Tagcreate_tag (const Glib::ustring &tag_name)
 
Glib::RefPtr< Tagcreate_tag ()
 
iterator get_iter_at_line_offset (int line_number, int char_offset)
 
iterator get_iter_at_line_index (int line_number, int byte_index)
 
iterator get_iter_at_offset (int char_offset)
 
iterator get_iter_at_line (int line_number)
 
iterator begin ()
 
iterator end ()
 
void get_bounds (iterator &range_begin, iterator &range_end)
 
iterator get_iter_at_mark (const Glib::RefPtr< Mark > &mark)
 
iterator get_iter_at_child_anchor (const Glib::RefPtr< ChildAnchor > &anchor)
 
bool get_modified () const
 
void set_modified (bool setting=true)
 
bool get_has_selection () const
 
void add_selection_clipboard (const Glib::RefPtr< Clipboard > &clipboard)
 
void remove_selection_clipboard (const Glib::RefPtr< Clipboard > &clipboard)
 
void cut_clipboard (const Glib::RefPtr< Clipboard > &clipboard, bool default_editable=true)
 
void copy_clipboard (const Glib::RefPtr< Clipboard > &clipboard)
 
void paste_clipboard (const Glib::RefPtr< Clipboard > &clipboard, const iterator &override_location, bool default_editable=true)
 
void paste_clipboard (const Glib::RefPtr< Clipboard > &clipboard, bool default_editable=true)
 
bool get_selection_bounds (iterator &range_start, iterator &range_end) const
 
bool erase_selection (bool interactive=true, bool default_editable=true)
 
void select_range (const iterator &ins, const iterator &bound)
 
void begin_user_action ()
 
void end_user_action ()
 
Glib::RefPtr< TargetListget_copy_target_list () const
 
Glib::RefPtr< TargetListget_paste_target_list () const
 
Glib::ustring register_serialize_format (const Glib::ustring &mime_type, const SlotSerialize &slot)
 
Glib::ustring register_serialize_tagset (const Glib::ustring &tagset_name)
 
Glib::ustring register_deserialize_format (const Glib::ustring &mime_type, const SlotDeserialize &slot)
 
Glib::ustring register_deserialize_tagset (const Glib::ustring &tagset_name)
 
void unregister_serialize_format (const Glib::ustring &format)
 
void unregister_deserialize_format (const Glib::ustring &format)
 
void set_can_create_tags (const Glib::ustring &format, bool can_create_tags=true)
 
bool get_can_create_tags (const Glib::ustring &format) const
 
std::vector< Glib::ustringget_serialize_formats () const
 
std::vector< Glib::ustringget_deserialize_formats () const
 
guint8 * serialize (const Glib::RefPtr< TextBuffer > &content_buffer, const Glib::ustring &format, const iterator &range_start, const iterator &range_end, gsize &length)
 
bool deserialize (const Glib::RefPtr< TextBuffer > &content_buffer, const Glib::ustring &format, iterator &iter, const guint8 *data, gsize length)
 
Glib::SignalProxy< void, const TextBuffer::iterator &, const Glib::ustring &, int > signal_insert ()
 
Glib::SignalProxy< void, const TextBuffer::iterator &, const Glib::RefPtr< Gdk::Pixbuf > & > signal_insert_pixbuf ()
 
Glib::SignalProxy< void, const TextBuffer::iterator &, const Glib::RefPtr< ChildAnchor > & > signal_insert_child_anchor ()
 
Glib::SignalProxy< void, const TextBuffer::iterator &, const TextBuffer::iterator & > signal_erase ()
 
Glib::SignalProxy< void > signal_changed ()
 
Glib::SignalProxy< void > signal_modified_changed ()
 
Glib::SignalProxy< void, const TextBuffer::iterator &, const Glib::RefPtr< TextBuffer::Mark > & > signal_mark_set ()
 
Glib::SignalProxy< void, const Glib::RefPtr< TextBuffer::Mark > & > signal_mark_deleted ()
 
Glib::SignalProxy< void, const Glib::RefPtr< TextBuffer::Tag > &, const TextBuffer::iterator &, const TextBuffer::iterator & > signal_apply_tag ()
 
Glib::SignalProxy< void, const Glib::RefPtr< TextBuffer::Tag > &, const TextBuffer::iterator &, const TextBuffer::iterator & > signal_remove_tag ()
 
Glib::SignalProxy< void > signal_begin_user_action ()
 
Glib::SignalProxy< void > signal_end_user_action ()
 
Glib::SignalProxy< void, const Glib::RefPtr< Gtk::Clipboard > & > signal_paste_done ()
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< TextBuffer::TagTable > > property_tag_table () const
 
Glib::PropertyProxy< Glib::ustringproperty_text ()
 
Glib::PropertyProxy_ReadOnly< Glib::ustringproperty_text () const
 
Glib::PropertyProxy_ReadOnly< bool > property_has_selection () const
 
Glib::PropertyProxy_ReadOnly< int > property_cursor_position () const
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< TargetList > > property_copy_target_list () const
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< TargetList > > property_paste_target_list () const
 
Glib::RefPtr< Gtk::TextBufferwrap (GtkTextBuffer *object, bool take_copy=false)
 
- Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&src) noexcept
 
Objectoperator= (Object &&src) noexcept
 
void * get_data (const QueryQuark &key)
 
void set_data (const Quark &key, void *data)
 
void set_data (const Quark &key, void *data, DestroyNotify notify)
 
void remove_data (const QueryQuark &quark)
 
void * steal_data (const QueryQuark &quark)
 
Glib::RefPtr< Glib::Objectwrap (GObject *object, bool take_copy=false)
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (const ObjectBase &)=delete
 
void set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
 
void get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
 
void set_property (const Glib::ustring &property_name, const PropertyType &value)
 
void get_property (const Glib::ustring &property_name, PropertyType &value) const
 
void connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot)
 
void connect_property_changed (const Glib::ustring &property_name, sigc::slot< void > &&slot)
 
sigc::connection connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot)
 
sigc::connection connect_property_changed_with_return (const Glib::ustring &property_name, sigc::slot< void > &&slot)
 
void freeze_notify ()
 
void thaw_notify ()
 
virtual void reference () const
 
virtual void unreference () const
 
GObject * gobj ()
 
const GObject * gobj () const
 
GObject * gobj_copy () const
 
- Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 
 trackable (const trackable &src) noexcept
 
 trackable (trackable &&src)
 
 ~trackable ()
 
void add_destroy_notify_callback (void *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src)
 
void remove_destroy_notify_callback (void *data) const
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 
static Glib::RefPtr< Buffercreate ()
 Create a new source buffer. More...
 
static Glib::RefPtr< Buffercreate (const Glib::RefPtr< Gtk::TextTagTable >& tag_table)
 Create a new source buffer. More...
 
static Glib::RefPtr< Buffercreate (const Glib::RefPtr< Language >& language)
 Creates a new source buffer using the highlighting patterns in language. More...
 
- Static Public Member Functions inherited from Gtk::TextBuffer
static GType get_type ()
 
static Glib::RefPtr< TextBuffercreate ()
 
static Glib::RefPtr< TextBuffercreate (const Glib::RefPtr< TagTable > &tag_table)
 

Protected Member Functions

 Buffer ()
 
 Buffer (const Glib::RefPtr< Gtk::TextTagTable >& tag_table)
 
 Buffer (const Glib::RefPtr< Language >& language)
 
virtual void on_undo ()
 This is a default handler for the signal signal_undo(). More...
 
virtual void on_redo ()
 This is a default handler for the signal signal_redo(). More...
 
virtual void on_bracket_matched (Gtk::TextIter& iter, BracketMatchType state)
 This is a default handler for the signal signal_bracket_matched(). More...
 
- Protected Member Functions inherited from Gtk::TextBuffer
 TextBuffer ()
 
 TextBuffer (const Glib::RefPtr< TagTable > &tag_table)
 
virtual void on_insert (const TextBuffer::iterator &pos, const Glib::ustring &text, int bytes)
 
virtual void on_insert_pixbuf (const TextBuffer::iterator &pos, const Glib::RefPtr< Gdk::Pixbuf > &pixbuf)
 
virtual void on_insert_child_anchor (const TextBuffer::iterator &pos, const Glib::RefPtr< ChildAnchor > &anchor)
 
virtual void on_erase (const TextBuffer::iterator &range_start, const TextBuffer::iterator &range_end)
 
virtual void on_changed ()
 
virtual void on_modified_changed ()
 
virtual void on_mark_set (const TextBuffer::iterator &location, const Glib::RefPtr< TextBuffer::Mark > &mark)
 
virtual void on_mark_deleted (const Glib::RefPtr< TextBuffer::Mark > &mark)
 
virtual void on_apply_tag (const Glib::RefPtr< TextBuffer::Tag > &tag, const TextBuffer::iterator &range_begin, const TextBuffer::iterator &range_end)
 
virtual void on_remove_tag (const Glib::RefPtr< TextBuffer::Tag > &tag, const TextBuffer::iterator &range_begin, const TextBuffer::iterator &range_end)
 
virtual void on_begin_user_action ()
 
virtual void on_end_user_action ()
 
virtual void on_paste_done (const Glib::RefPtr< Gtk::Clipboard > &clipboard)
 
- Protected Member Functions inherited from Glib::Object
 Object ()
 
 Object (const Glib::ConstructParams &construct_params)
 
 Object (GObject *castitem)
 
 ~Object () noexceptoverride
 
- Protected Member Functions inherited from Glib::ObjectBase
 ObjectBase ()
 
 ObjectBase (const char *custom_type_name)
 
 ObjectBase (const std::type_info &custom_type_info)
 
 ObjectBase (ObjectBase &&src) noexcept
 
ObjectBaseoperator= (ObjectBase &&src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject *castitem)
 
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gsv::Bufferwrap (GtkSourceBuffer* object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Additional Inherited Members

- Public Types inherited from Gtk::TextBuffer
typedef TextIter iterator
 
typedef TextTag Tag
 
typedef TextTagTable TagTable
 
typedef TextMark Mark
 
typedef TextChildAnchor ChildAnchor
 
typedef sigc::slot< guint8 *, const Glib::RefPtr< TextBuffer > &, const iterator &, const iterator &, gsize & > SlotSerialize
 
typedef sigc::slot< bool, const Glib::RefPtr< TextBuffer > &, iterator &, const guint8 *, gsize, bool > SlotDeserialize
 
- Public Types inherited from Glib::Object
typedef void(*)(gpointer data DestroyNotify)
 
- Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify
 

Detailed Description

Buffer object for View.

The Buffer class is the model for View widgets. It extends the Gtk::TextBuffer class by adding features useful to display and edit source code as syntax highlighting and bracket matching. It also implements support for undo/redo operations.

To create a Buffer use Buffer::create(). A convenience overload for initial setting a Language is also provided.

By default highlighting is enabled, but you can disable it with Buffer::set_highlight_syntax().

Constructor & Destructor Documentation

Gsv::Buffer::Buffer ( Buffer&&  src)
noexcept
Gsv::Buffer::~Buffer ( )
overridenoexcept
Gsv::Buffer::Buffer ( )
explicitprotected
Gsv::Buffer::Buffer ( const Glib::RefPtr< Gtk::TextTagTable > &  tag_table)
explicitprotected
Gsv::Buffer::Buffer ( const Glib::RefPtr< Language >&  language)
explicitprotected

Member Function Documentation

bool Gsv::Buffer::backward_iter_to_source_mark ( Gtk::TextIter iter,
const Glib::ustring category 
)

Moves iter to the position of the previous Mark of the given category.

Parameters
iterAn iterator.
categoryCategory to search.
Returns
true if iter was moved.
bool Gsv::Buffer::backward_iter_to_source_mark ( Gtk::TextIter iter)

Moves iter to the position of the previous Mark of any category.

Parameters
iterAn iterator.
Returns
true if iter was moved.
void Gsv::Buffer::begin_not_undoable_action ( )

Marks the beginning of a not undoable action on the buffer, disabling the undo manager.

Typically you would call this function before initially setting the contents of the buffer (e.g. when loading a file in a text editor).

You may nest begin_not_undoable_action() / end_not_undoable_action() blocks.

bool Gsv::Buffer::can_redo ( ) const

Determines whether a source buffer can redo the last action (i.e. if the last operation was an undo).

Returns
true if a redo is possible.
bool Gsv::Buffer::can_undo ( ) const

Determines whether a source buffer can undo the last action.

Returns
true if it's possible to undo the last action.
static Glib::RefPtr<Buffer> Gsv::Buffer::create ( )
static

Create a new source buffer.

Internally it will create a new Gtk::TextTagTable also.

Returns
A new Buffer.
Since gtksourceviewmm 2.10:
static Glib::RefPtr<Buffer> Gsv::Buffer::create ( const Glib::RefPtr< Gtk::TextTagTable > &  tag_table)
static

Create a new source buffer.

Parameters
tag_tableA Gtk::TextTagTable or empty Glib::RefPtr, to create new.
Returns
A new Buffer.
static Glib::RefPtr<Buffer> Gsv::Buffer::create ( const Glib::RefPtr< Language >&  language)
static

Creates a new source buffer using the highlighting patterns in language.

Parameters
languageA Language.
Returns
A new Buffer
Glib::RefPtr<Gsv::Mark> Gsv::Buffer::create_source_mark ( const Glib::ustring name,
const Glib::ustring category,
const Gtk::TextIter where 
)

Creates a source mark in the buffer of category category.

A source mark is a Gtk::TextMark but organised into categories. Depending on the category a pixbuf can be specified that will be displayed along the line of the mark.

Marks always have left gravity and are moved to the beginning of the line when the user deletes the line they were in.

Typical uses for a source mark are bookmarks, breakpoints, current executing instruction indication in a source file, etc.

Parameters
nameThe name of the mark.
categoryA string defining the mark category.
whereLocation to place the mark.
Returns
A new Mark.
Glib::RefPtr<Gsv::Mark> Gsv::Buffer::create_source_mark ( const Glib::ustring category,
const Gtk::TextIter where 
)

Creates an anonymous source mark in the buffer of category category.

A source mark is a Gtk::TextMark but organised into categories. Depending on the category a pixbuf can be specified that will be displayed along the line of the mark.

Like a Gtk::TextMark, a Mark can be anonymous.

Marks always have left gravity and are moved to the beginning of the line when the user deletes the line they were in.

Typical uses for a source mark are bookmarks, breakpoints, current executing instruction indication in a source file, etc.

Parameters
categoryA string defining the mark category.
whereLocation to place the mark.
Returns
A new Mark.
Since gtksourceviewmm 2.10:
void Gsv::Buffer::end_not_undoable_action ( )

Marks the end of a not undoable action on the buffer.

When the last not undoable block is closed through the call to this function, the list of undo actions is cleared and the undo manager is re-enabled.

void Gsv::Buffer::ensure_highlight ( const Gtk::TextIter start,
const Gtk::TextIter end 
)

Forces buffer to analyze and highlight the given area synchronously.

Note
This is a potentially slow operation and should be used only when you need to make sure that some text not currently visible is highlighted, for instance before printing.
Parameters
startStart of the area to highlight.
endEnd of the area to highlight.
bool Gsv::Buffer::forward_iter_to_source_mark ( Gtk::TextIter iter,
const Glib::ustring category 
)

Moves iter to the position of the next Mark of the given category.

Parameters
iterAn iterator.
categoryCategory to search.
Returns
true if iter was moved.
bool Gsv::Buffer::forward_iter_to_source_mark ( Gtk::TextIter iter)

Moves iter to the position of the next Mark of the given category.

Parameters
iterAn iterator.
Returns
true if iter was moved.
std::vector<Glib::ustring> Gsv::Buffer::get_context_classes_at_iter ( const Gtk::TextIter iter) const

Get all defined context classes at iter.

Parameters
iterA Gtk::TextIter.
Returns
An array of context class names.
Since gtksourceviewmm 2.10:
bool Gsv::Buffer::get_highlight_matching_brackets ( ) const

Determines whether bracket match highlighting is activated for the source buffer.

Returns
true if the source buffer will highlight matching brackets.
bool Gsv::Buffer::get_highlight_syntax ( ) const

Determines whether syntax highlighting is activated in the source buffer.

Returns
true if syntax highlighting is enabled, false otherwise.
bool Gsv::Buffer::get_implicit_trailing_newline ( ) const
Returns
whether the buffer has an implicit trailing newline.
Since gtksourceviewmm 3.14:
Glib::RefPtr<Language> Gsv::Buffer::get_language ( )

Returns the Language associated with the buffer.

Returns
A Language associated with the buffer, or empty Glib::RefPtr.
Glib::RefPtr<const Language> Gsv::Buffer::get_language ( ) const

Returns the Language associated with the buffer.

Returns
A Language associated with the buffer, or empty Glib::RefPtr.
int Gsv::Buffer::get_max_undo_levels ( ) const

Determines the number of undo levels the buffer will track for buffer edits.

Returns
The maximum number of possible undo levels or -1 if no limit is set.
std::vector<Glib::RefPtr<Gsv::Mark> > Gsv::Buffer::get_source_marks_at_iter ( Gtk::TextIter iter,
const Glib::ustring category 
) const

Returns the list of marks of the given category at iter.

Parameters
iterAn iterator.
categoryCategory to search for.
Returns
A list of source marks.
std::vector<Glib::RefPtr<Gsv::Mark> > Gsv::Buffer::get_source_marks_at_iter ( Gtk::TextIter iter) const

Returns the list of marks of any category at iter.

Parameters
iterAn iterator.
Returns
A list of source marks.
std::vector<Glib::RefPtr<Gsv::Mark> > Gsv::Buffer::get_source_marks_at_line ( int  line,
const Glib::ustring category 
) const

Returns the list of marks of the given category at line.

Parameters
lineA line number.
categoryCategory to search for.
Returns
A list of source marks.
std::vector<Glib::RefPtr<Gsv::Mark> > Gsv::Buffer::get_source_marks_at_line ( int  line) const

Returns the list of marks of any category at line.

Parameters
lineA line number.
Returns
A list of source marks.
Glib::RefPtr<StyleScheme> Gsv::Buffer::get_style_scheme ( )

Returns the StyleScheme currently used in buffer.

Returns
The StyleScheme set by set_style_scheme(), or empty Glib::RefPtr.
Glib::RefPtr<const StyleScheme> Gsv::Buffer::get_style_scheme ( ) const

Returns the StyleScheme currently used in buffer.

Returns
The StyleScheme set by set_style_scheme(), or empty Glib::RefPtr.
static GType Gsv::Buffer::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

Glib::RefPtr<UndoManager> Gsv::Buffer::get_undo_manager ( )

Get the undo manager associated with the buffer.

Returns
A UndoManager.
Since gtksourceviewmm 2.10:
Glib::RefPtr<const UndoManager> Gsv::Buffer::get_undo_manager ( ) const

Get the undo manager associated with the buffer.

Returns
A UndoManager.
Since gtksourceviewmm 2.10:
GtkSourceBuffer* Gsv::Buffer::gobj ( )
inline

Provides access to the underlying C GObject.

const GtkSourceBuffer* Gsv::Buffer::gobj ( ) const
inline

Provides access to the underlying C GObject.

GtkSourceBuffer* Gsv::Buffer::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

bool Gsv::Buffer::iter_backward_to_context_class_toggle ( Gtk::TextIter iter,
const Glib::ustring context_class 
) const

Moves backward to the next toggle (on or off) of the context class.

If no matching context class toggles are found, returns false, otherwise true. Does not return toggles located at iter, only toggles after iter. Sets iter to the location of the toggle, or to the end of the buffer if no toggle is found.

Parameters
iterA Gtk::TextIter.
context_classThe context class.
Returns
Whether we found a context class toggle before iter.
Since gtksourceviewmm 2.10:
bool Gsv::Buffer::iter_forward_to_context_class_toggle ( Gtk::TextIter iter,
const Glib::ustring context_class 
) const

Moves forward to the next toggle (on or off) of the context class.

If no matching context class toggles are found, returns false, otherwise true. Does not return toggles located at iter, only toggles after iter. Sets iter to the location of the toggle, or to the end of the buffer if no toggle is found.

Parameters
iterA Gtk::TextIter.
context_classThe context class.
Returns
Whether we found a context class toggle after iter.
Since gtksourceviewmm 2.10:
bool Gsv::Buffer::iter_has_context_class ( const Gtk::TextIter iter,
const Glib::ustring context_class 
) const

Check if the class context_class is set on iter.

Parameters
iterA Gtk::TextIter.
context_classClass to search for.
Returns
true if context_class is set on iter.
Since gtksourceviewmm 2.10:
virtual void Gsv::Buffer::on_bracket_matched ( Gtk::TextIter iter,
BracketMatchType  state 
)
protectedvirtual

This is a default handler for the signal signal_bracket_matched().

virtual void Gsv::Buffer::on_redo ( )
protectedvirtual

This is a default handler for the signal signal_redo().

virtual void Gsv::Buffer::on_undo ( )
protectedvirtual

This is a default handler for the signal signal_undo().

Buffer& Gsv::Buffer::operator= ( Buffer&&  src)
noexcept
Glib::PropertyProxy_ReadOnly< bool > Gsv::Buffer::property_can_redo ( ) const

Whether Redo operation is possible.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< bool > Gsv::Buffer::property_can_undo ( ) const

Whether Undo operation is possible.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< bool > Gsv::Buffer::property_highlight_matching_brackets ( )

Whether to highlight matching brackets.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< bool > Gsv::Buffer::property_highlight_matching_brackets ( ) const

Whether to highlight matching brackets.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< bool > Gsv::Buffer::property_highlight_syntax ( )

Whether to highlight syntax in the buffer.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< bool > Gsv::Buffer::property_highlight_syntax ( ) const

Whether to highlight syntax in the buffer.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< bool > Gsv::Buffer::property_implicit_trailing_newline ( )
Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< bool > Gsv::Buffer::property_implicit_trailing_newline ( ) const
Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< Glib::RefPtr<Language> > Gsv::Buffer::property_language ( )

Language object to get highlighting patterns from.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Language> > Gsv::Buffer::property_language ( ) const

Language object to get highlighting patterns from.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< int > Gsv::Buffer::property_max_undo_levels ( )

Number of undo levels for the buffer.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< int > Gsv::Buffer::property_max_undo_levels ( ) const

Number of undo levels for the buffer.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< Glib::RefPtr<StyleScheme> > Gsv::Buffer::property_style_scheme ( )

Style scheme.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr<StyleScheme> > Gsv::Buffer::property_style_scheme ( ) const

Style scheme.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy< Glib::RefPtr<UndoManager> > Gsv::Buffer::property_undo_manager ( )

The buffer undo manager.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr<UndoManager> > Gsv::Buffer::property_undo_manager ( ) const

The buffer undo manager.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
void Gsv::Buffer::redo ( )

Redoes the last undo operation.

Use can_redo() to check whether a call to this function will have any effect.

This function emits the Gtk::SourceBuffer::signal_redo() signal.

void Gsv::Buffer::remove_source_marks ( const Gtk::TextIter start,
const Gtk::TextIter end,
const Glib::ustring category 
)

Remove all marks of category between start and end from the buffer.

Parameters
startA Gtk::TextIter.
endA Gtk::TextIter.
categoryCategory to search for.
void Gsv::Buffer::remove_source_marks ( const Gtk::TextIter start,
const Gtk::TextIter end 
)

Remove all marks of any category between start and end from the buffer.

Parameters
startA Gtk::TextIter.
endA Gtk::TextIter.
Since gtksourceviewmm 2.10:
void Gsv::Buffer::set_default_undo_manager ( )

Set the default buffer undo manager.

Since gtksourceviewmm 2.10:
void Gsv::Buffer::set_highlight_matching_brackets ( bool  highlight = true)

Controls the bracket match highlighting function in the buffer.

If activated, when you position your cursor over a bracket character (a parenthesis, a square bracket, etc.) the matching opening or closing bracket character will be highlighted.

Parameters
highlighttrue if you want matching brackets highlighted.
void Gsv::Buffer::set_highlight_syntax ( bool  highlight = true)

Controls whether syntax is highlighted in the buffer.

If highlight is true, the text will be highlighted according to the syntax patterns specified in the language set with set_language(). If highlight is false, syntax highlighting is disabled and all the Gtk::TextTag objects that have been added by the syntax highlighting engine are removed from the buffer.

Parameters
highlighttrue to enable syntax highlighting, false to disable it.
void Gsv::Buffer::set_implicit_trailing_newline ( bool  implicit_trailing_newline = true)

Sets whether the buffer has an implicit trailing newline.

If an explicit trailing newline is present in a GtkTextBuffer, GtkTextView shows it as an empty line. This is generally not what the user expects. If implicit_trailing_newline is TRUE (the default value):

  • when a GtkSourceFileLoader loads the content of a file into the buffer , the trailing newline (if present in the file) is not inserted into the buffer .
  • when a GtkSourceFileSaver saves the content of the buffer into a file, a trailing newline is added to the file. On the other hand, if implicit_trailing_newline is FALSE, the file's content is not modified when loaded into the buffer, and the buffer 's content is not modified when saved into a file.
Parameters
implicit_trailing_newlinethe new value.
Since gtksourceviewmm 3.14:
void Gsv::Buffer::set_language ( const Glib::RefPtr< Language >&  language)

Associate a Language with the source buffer.

If language is not empty and syntax highlighting is enabled, the syntax patterns defined in language will be used to highlight the text contained in the buffer. If language is empty, the text contained in the buffer is not highlighted.

The buffer holds a reference to language.

Parameters
languageA Language to set, or empty Glib::RefPtr.
void Gsv::Buffer::set_max_undo_levels ( int  max_undo_levels = true)

Sets the number of undo levels for user actions the buffer will track.

If the number of user actions exceeds the limit set by this function, older actions will be discarded.

If max_undo_levels is -1, no limit is set.

A new action is started whenever the method Gtk::TextBuffer::begin_user_action() is called. In general, this happens whenever the user presses any key which modifies the buffer, but the undo manager will try to merge similar consecutive actions, such as multiple character insertions into one action. But, inserting a newline does start a new action.

Parameters
max_undo_levelsThe desired maximum number of undo levels.
void Gsv::Buffer::set_style_scheme ( const Glib::RefPtr< StyleScheme >&  scheme)

Sets style scheme used by the buffer.

If scheme is empty no style scheme is used.

Parameters
schemeStyle scheme.
void Gsv::Buffer::set_undo_manager ( const Glib::RefPtr< const UndoManager >&  undo_manager)

Set the buffer undo manager.

Parameters
undo_managerA UndoManager.
Since gtksourceviewmm 2.10:
Glib::SignalProxy< void,Gtk::TextIter&,BracketMatchType > Gsv::Buffer::signal_bracket_matched ( )

Sets iter to a valid iterator pointing to the matching bracket if state is BracketMatchType::BRACKET_MATCH_FOUND.

Handler parameters:
iter Iterator to initialize. state State of bracket matching.
Since gtksourceviewmm 3.0:
Slot Prototype:
void on_my_bracket_matched(Gtk::TextIter& iter, BracketMatchType state)

iter is set to a valid iterator pointing to the matching bracket if state is Gtk::SOURCE_BRACKET_MATCH_FOUND. Otherwise iter is meaningless.

The signal is emitted only when the state changes, typically when the cursor moves.

A use-case for this signal is to show messages in a Gtk::Statusbar.

Since gtksourceviewmm 2.12:
Parameters
iterIf found, the location of the matching bracket.
stateState of bracket matching.
Glib::SignalProxy< void,Gtk::TextIter&,Gtk::TextIter& > Gsv::Buffer::signal_highlight_updated ( )

Emitted whenever the syntax highlighting information has been updated, so that views can request a redraw if the region changed is visible.

Usually only view widgets displaying this buffer will be interested in this signal.

Handler parameters:
start An iterator at the start of the updated region. end An iterator at the end of the updated region.
Slot Prototype:
void on_my_highlight_updated(Gtk::TextIter& start, Gtk::TextIter& end)

The signal_highlight_updated() signal is emitted when the syntax highlighting is updated in a certain region of the buffer. This signal is useful to be notified when a context class region is updated (e.g. the no-spell-check context class).

Parameters
startThe start of the updated region.
endThe end of the updated region.
Glib::SignalProxy< void > Gsv::Buffer::signal_redo ( )

Emitted whenever redo is requested.

In fact, it is emitted when redo() is called.

Since gtksourceviewmm 2.10:
Slot Prototype:
void on_my_redo()

The signal_redo() signal is emitted to redo the last undo operation.

Glib::SignalProxy< void,const Glib::RefPtr<Gtk::TextMark>& > Gsv::Buffer::signal_source_mark_updated ( )

Emitted whenever a marker of sourcebuffer has changed and needs to be redisplayed by the view.

A change in a marker's type or location can trigger this signal. Note that moving a marker causes the emission of this signal twice: one for the old location and one for the new.

Handler parameters:
where An iterator at the location where the change occurred.
Slot Prototype:
void on_my_source_mark_updated(const Glib::RefPtr<Gtk::TextMark>& where)

The signal_source_mark_updated() signal is emitted each time a mark is added to, moved or removed from the buffer.

Parameters
whereThe Gtk::SourceMark.
Glib::SignalProxy< void > Gsv::Buffer::signal_undo ( )

Emitted whenever undo is requested.

In fact, it is emitted when undo() is called.

Since gtksourceviewmm 2.10:
Slot Prototype:
void on_my_undo()

The signal_undo() signal is emitted to undo the last user action which modified the buffer.

void Gsv::Buffer::undo ( )

Undoes the last user action which modified the buffer.

Use can_undo() to check whether a call to this function will have any effect.

Actions are defined as groups of operations between a call to Gtk::TextBuffer::begin_user_action() and Gtk::TextBuffer::end_user_action(), or sequences of similar edits (inserts or deletes) on the same line.

void Gsv::Buffer::unset_style_scheme ( )

Unsets style scheme used by the buffer.

It is the same like calling set_style_scheme() with empty pointer.

Friends And Related Function Documentation

Glib::RefPtr< Gsv::Buffer > wrap ( GtkSourceBuffer *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.