Interface
GtkSourceIndenter
Description [src]
interface GtkSource.Indenter : GObject.ObjectAuto-indentation interface.
By default, GtkSourceView can auto-indent as you type when
GtkSourceView:auto-indent is enabled. The indentation simply copies the
previous lines indentation.
This can be changed by implementing GtkSourceIndenter and setting the
GtkSourceView:indenter property.
Implementors of this interface should implement both
GtkSource.IndenterInterface.is_trigger and GtkSource.IndenterInterface.indent.
GtkSource.IndenterInterface.is_trigger is called upon key-press to
determine of the key press should trigger an indentation.  The default
implementation of the interface checks to see if the key was
GDK_KEY_Return or GDK_KEY_KP_Enter without GDK_SHIFT_MASK set.
GtkSource.IndenterInterface.indent is called after text has been
inserted into GtkSourceBuffer when
GtkSource.IndenterInterface.is_trigger returned TRUE. The GtkTextIter
is placed directly after the inserted character or characters.
It may be beneficial to move the insertion mark using
gtk_text_buffer_select_range() depending on how the indenter changes
the indentation.
All changes are encapsulated within a single user action so that the user may undo them using standard undo/redo accelerators.
Prerequisite
In order to implement Indenter, your type must inherit fromGObject.
Instance methods
gtk_source_indenter_indent
This function should be implemented to alter the indentation of text within the view.
gtk_source_indenter_is_trigger
This function is used to determine if a key pressed should cause the indenter to automatically indent.
Interface structure
struct GtkSourceIndenterInterface {
  GTypeInterface parent_iface;
  gboolean (* is_trigger) (
    GtkSourceIndenter* self,
    GtkSourceView* view,
    const GtkTextIter* location,
    GdkModifierType state,
    guint keyval
  );
  void (* indent) (
    GtkSourceIndenter* self,
    GtkSourceView* view,
    GtkTextIter* iter
  );
  
}The virtual function table for GtkSourceIndenter.
Interface members
| parent_iface |  | 
| No description available. | |
| is_trigger |  | 
| The virtual function pointer for gtk_source_indenter_is_trigger(). | |
| indent |  | 
| The virtual function pointer for gtk_source_indenter_indent(). | 
Virtual methods
GtkSource.Indenter.indent
This function should be implemented to alter the indentation of text within the view.
GtkSource.Indenter.is_trigger
This function is used to determine if a key pressed should cause the indenter to automatically indent.