GtkSourceView

GtkSourceView —

Synopsis


#include <gtksourceview/gtksourceview.h>


            GtkSourceView;
GtkWidget*  gtk_source_view_new             (void);
GtkWidget*  gtk_source_view_new_with_buffer (GtkSourceBuffer *buffer);
void        gtk_source_view_set_show_line_numbers
                                            (GtkSourceView *view,
                                             gboolean show);
gboolean    gtk_source_view_get_show_line_numbers
                                            (GtkSourceView *view);
void        gtk_source_view_set_show_line_markers
                                            (GtkSourceView *view,
                                             gboolean show);
gboolean    gtk_source_view_get_show_line_markers
                                            (GtkSourceView *view);
void        gtk_source_view_set_tabs_width  (GtkSourceView *view,
                                             guint width);
guint       gtk_source_view_get_tabs_width  (GtkSourceView *view);
void        gtk_source_view_set_auto_indent (GtkSourceView *view,
                                             gboolean enable);
gboolean    gtk_source_view_get_auto_indent (GtkSourceView *view);
void        gtk_source_view_set_insert_spaces_instead_of_tabs
                                            (GtkSourceView *view,
                                             gboolean enable);
gboolean    gtk_source_view_get_insert_spaces_instead_of_tabs
                                            (GtkSourceView *view);
void        gtk_source_view_set_show_margin (GtkSourceView *view,
                                             gboolean show);
gboolean    gtk_source_view_get_show_margin (GtkSourceView *view);
void        gtk_source_view_set_margin      (GtkSourceView *view,
                                             guint margin);
guint       gtk_source_view_get_margin      (GtkSourceView *view);
void        gtk_source_view_set_highlight_current_line
                                            (GtkSourceView *view,
                                             gboolean show);
gboolean    gtk_source_view_get_highlight_current_line
                                            (GtkSourceView *view);
void        gtk_source_view_set_marker_pixbuf
                                            (GtkSourceView *view,
                                             const gchar *marker_type,
                                             GdkPixbuf *pixbuf);
GdkPixbuf*  gtk_source_view_get_marker_pixbuf
                                            (GtkSourceView *view,
                                             const gchar *marker_type);
void        gtk_source_view_set_smart_home_end
                                            (GtkSourceView *view,
                                             gboolean enable);
gboolean    gtk_source_view_get_smart_home_end
                                            (GtkSourceView *view);

Object Hierarchy


  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkTextView
                                 +----GtkSourceView

Implemented Interfaces

GtkSourceView implements AtkImplementorIface.

Properties


  "auto-indent"          gboolean              : Read / Write
  "highlight-current-line" gboolean              : Read / Write
  "insert-spaces-instead-of-tabs" gboolean              : Read / Write
  "margin"               guint                 : Read / Write
  "show-line-markers"    gboolean              : Read / Write
  "show-line-numbers"    gboolean              : Read / Write
  "show-margin"          gboolean              : Read / Write
  "smart-home-end"       gboolean              : Read / Write
  "tabs-width"           guint                 : Read / Write

Style Properties


  "right-margin-line-alpha" gint                  : Read
  "right-margin-line-color" GdkColor              : Read
  "right-margin-overlay-alpha" gint                  : Read
  "right-margin-overlay-color" GdkColor              : Read
  "right-margin-overlay-toggle" gchararray            : Read

Signals


"redo"      void        user_function      (GtkSourceView *sourceview,
                                            gpointer       user_data)       : Run last / Action
"undo"      void        user_function      (GtkSourceView *sourceview,
                                            gpointer       user_data)       : Run last / Action

Description

Details

GtkSourceView

typedef struct _GtkSourceView GtkSourceView;


gtk_source_view_new ()

GtkWidget*  gtk_source_view_new             (void);

Creates a new GtkSourceView. An empty default buffer will be created for you. If you want to specify your own buffer, consider gtk_source_view_new_with_buffer().

Returns : a new GtkSourceView

gtk_source_view_new_with_buffer ()

GtkWidget*  gtk_source_view_new_with_buffer (GtkSourceBuffer *buffer);

Creates a new GtkSourceView widget displaying the buffer buffer. One buffer can be shared among many widgets.

buffer : a GtkSourceBuffer.
Returns : a new GtkTextView.

gtk_source_view_set_show_line_numbers ()

void        gtk_source_view_set_show_line_numbers
                                            (GtkSourceView *view,
                                             gboolean show);

If TRUE line numbers will be displayed beside the text.

view : a GtkSourceView.
show : whether line numbers should be displayed.

gtk_source_view_get_show_line_numbers ()

gboolean    gtk_source_view_get_show_line_numbers
                                            (GtkSourceView *view);

Returns whether line numbers are displayed beside the text.

view : a GtkSourceView.
Returns : TRUE if the line numbers are displayed.

gtk_source_view_set_show_line_markers ()

void        gtk_source_view_set_show_line_markers
                                            (GtkSourceView *view,
                                             gboolean show);

If TRUE line markers will be displayed beside the text.

view : a GtkSourceView.
show : whether line markers should be displayed.

gtk_source_view_get_show_line_markers ()

gboolean    gtk_source_view_get_show_line_markers
                                            (GtkSourceView *view);

Returns whether line markers are displayed beside the text.

view : a GtkSourceView.
Returns : TRUE if the line markers are displayed.

gtk_source_view_set_tabs_width ()

void        gtk_source_view_set_tabs_width  (GtkSourceView *view,
                                             guint width);

Sets the width of tabulation in characters.

view : a GtkSourceView.
width : width of tab in characters.

gtk_source_view_get_tabs_width ()

guint       gtk_source_view_get_tabs_width  (GtkSourceView *view);

Returns the width of tabulation in characters.

view : a GtkSourceView.
Returns : width of tab.

gtk_source_view_set_auto_indent ()

void        gtk_source_view_set_auto_indent (GtkSourceView *view,
                                             gboolean enable);

If TRUE auto indentation of text is enabled.

view : a GtkSourceView.
enable : whether to enable auto indentation.

gtk_source_view_get_auto_indent ()

gboolean    gtk_source_view_get_auto_indent (GtkSourceView *view);

Returns whether auto indentation of text is enabled.

view : a GtkSourceView.
Returns : TRUE if auto indentation is enabled.

gtk_source_view_set_insert_spaces_instead_of_tabs ()

void        gtk_source_view_set_insert_spaces_instead_of_tabs
                                            (GtkSourceView *view,
                                             gboolean enable);

If TRUE any tabulator character inserted is replaced by a group of space characters.

view : a GtkSourceView.
enable : whether to insert spaces instead of tabs.

gtk_source_view_get_insert_spaces_instead_of_tabs ()

gboolean    gtk_source_view_get_insert_spaces_instead_of_tabs
                                            (GtkSourceView *view);

Returns whether when inserting a tabulator character it should be replaced by a group of space characters.

view : a GtkSourceView.
Returns : TRUE if spaces are inserted instead of tabs.

gtk_source_view_set_show_margin ()

void        gtk_source_view_set_show_margin (GtkSourceView *view,
                                             gboolean show);

If TRUE a margin is displayed

view : a GtkSourceView.
show : whether to show a margin.

gtk_source_view_get_show_margin ()

gboolean    gtk_source_view_get_show_margin (GtkSourceView *view);

Returns whether a margin is displayed.

view : a GtkSourceView.
Returns : TRUE if the margin is showed.

gtk_source_view_set_margin ()

void        gtk_source_view_set_margin      (GtkSourceView *view,
                                             guint margin);

Sets the position of the right margin in the given view.

view : a GtkSourceView.
margin : the position of the margin to set.

gtk_source_view_get_margin ()

guint       gtk_source_view_get_margin      (GtkSourceView *view);

Gets the position of the right margin in the given view.

view : a GtkSourceView.
Returns : the position of the right margin.

gtk_source_view_set_highlight_current_line ()

void        gtk_source_view_set_highlight_current_line
                                            (GtkSourceView *view,
                                             gboolean show);

If TRUE the current line is highlighted

view : a GtkSourceView
show : whether to highlight the current line

gtk_source_view_get_highlight_current_line ()

gboolean    gtk_source_view_get_highlight_current_line
                                            (GtkSourceView *view);

Returns whether the current line is highlighted

view : a GtkSourceView
Returns : TRUE if the current line is highlighted

gtk_source_view_set_marker_pixbuf ()

void        gtk_source_view_set_marker_pixbuf
                                            (GtkSourceView *view,
                                             const gchar *marker_type,
                                             GdkPixbuf *pixbuf);

Associates a given pixbuf with a given marker_type.

view : a GtkSourceView.
marker_type : a marker type.
pixbuf : a GdkPixbuf.

gtk_source_view_get_marker_pixbuf ()

GdkPixbuf*  gtk_source_view_get_marker_pixbuf
                                            (GtkSourceView *view,
                                             const gchar *marker_type);

Gets the pixbuf which is associated with the given marker_type.

view : a GtkSourceView.
marker_type : a marker type.
Returns : a GdkPixbuf if found, or NULL if not found.

gtk_source_view_set_smart_home_end ()

void        gtk_source_view_set_smart_home_end
                                            (GtkSourceView *view,
                                             gboolean enable);

If TRUE HOME and END keys will move to the first/last non-space character of the line before moving to the start/end.

view : a GtkSourceView.
enable : whether to enable smart behavior for HOME and END keys.

gtk_source_view_get_smart_home_end ()

gboolean    gtk_source_view_get_smart_home_end
                                            (GtkSourceView *view);

Returns whether HOME and END keys will move to the first/last non-space character of the line before moving to the start/end.

view : a GtkSourceView.
Returns : TRUE if smart behavior for HOME and END keys is enabled.

Property Details

The "auto-indent" property

  "auto-indent"          gboolean              : Read / Write

Whether to enable auto indentation.

Default value: FALSE


The "highlight-current-line" property

  "highlight-current-line" gboolean              : Read / Write

Whether to highlight the current line.

Default value: FALSE


The "insert-spaces-instead-of-tabs" property

  "insert-spaces-instead-of-tabs" gboolean              : Read / Write

Whether to insert spaces instead of tabs.

Default value: FALSE


The "margin" property

  "margin"               guint                 : Read / Write

Position of the right margin.

Allowed values: [1,200]

Default value: 80


The "show-line-markers" property

  "show-line-markers"    gboolean              : Read / Write

Whether to display line marker pixbufs.

Default value: FALSE


The "show-line-numbers" property

  "show-line-numbers"    gboolean              : Read / Write

Whether to display line numbers.

Default value: FALSE


The "show-margin" property

  "show-margin"          gboolean              : Read / Write

Whether to display the right margin.

Default value: FALSE


The "smart-home-end" property

  "smart-home-end"       gboolean              : Read / Write

HOME and END keys move to first/last non whitespace characters on line before going to the start/end of the line.

Default value: TRUE


The "tabs-width" property

  "tabs-width"           guint                 : Read / Write

Tabs Width.

Allowed values: [1,32]

Default value: 8

Style Property Details

The "right-margin-line-alpha" style property

  "right-margin-line-alpha" gint                  : Read

The ::right-margin-line-alpha determines the alpha component with which the vertical line will be drawn. 0 means it is fully transparent (invisible). 255 means it has full opacity (text under the line won't be visible).

Allowed values: [0,255]

Default value: 40

Since 1.6


The "right-margin-line-color" style property

  "right-margin-line-color" GdkColor              : Read

The ::right-margin-line-color property contains the color with which the right margin line (vertical line indicating the right margin) will be drawn.

Since 1.6


The "right-margin-overlay-alpha" style property

  "right-margin-overlay-alpha" gint                  : Read

The ::right-margin-overlay-alpha determines the alpha component with which the overlay will be drawn. 0 means it is fully transparent (invisible). 255 means it has full opacity (text under the overlay won't be visible).

Allowed values: [0,255]

Default value: 15

Since 1.6


The "right-margin-overlay-color" style property

  "right-margin-overlay-color" GdkColor              : Read

The ::right-margin-overlay-color property contains the color with which the right margin overlay will be drawn. Setting this property will only have an effect if ::right-margin-overlay-toggle is TRUE.

Since 1.6


The "right-margin-overlay-toggle" style property

  "right-margin-overlay-toggle" gchararray            : Read

The ::right-margin-overlay-toggle property determines whether the widget will draw a transparent overlay on top of the area on the right side of the right margin line. On some systems, this has a noticable performance impact, so this property is FALSE by default.

Default value: "FALSE"

Since 1.6

Signal Details

The "redo" signal

void        user_function                  (GtkSourceView *sourceview,
                                            gpointer       user_data)       : Run last / Action

sourceview : the object which received the signal.
user_data : user data set when the signal handler was connected.

The "undo" signal

void        user_function                  (GtkSourceView *sourceview,
                                            gpointer       user_data)       : Run last / Action

sourceview : the object which received the signal.
user_data : user data set when the signal handler was connected.