GtkSourceGutter

GtkSourceGutter — Gutter object for GtkSourceView

Functions

Properties

GtkSourceView * view Read / Write / Construct Only
GtkTextWindowType window-type Read / Write / Construct Only

Signals

void cell-activated Run Last
gboolean query-tooltip Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GtkSourceGutter

Includes

#include <gtksourceview/gtksourcegutter.h>

Description

The GtkSourceGutter object represents the left and right gutters of the text view. It is used by GtkSourceView to draw the line numbers and category marks that might be present on a line. By packing additional GtkCellRenderer objects in the gutter, you can extend the gutter with your own custom drawings.

The gutter works very much the same way as cells rendered in a GtkTreeView. The concept is similar, with the exception that the gutter does not have an underlying GtkTreeModel. Instead, you should use gtk_source_gutter_set_cell_data_func to set a callback to fill in any of the cell renderers properties, given the line for which the cell is to be rendered. Renderers are inserted into the gutter at a certain position. The builtin line number renderer is at position

GTK_SOURCE_VIEW_GUTTER_POSITION_LINES (-30) and the marks renderer is at GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS (-20). You can use these values to position custom renderers accordingly. The width of a cell renderer can be specified as either fixed (using

gtk_cell_renderer_set_fixed_size) or dynamic, in which case you must set gtk_source_gutter_set_cell_size_func. This callback is used to set the properties of the renderer such that gtk_cell_renderer_get_size yields the maximum width of the cell.

Functions

GtkSourceGutterDataFunc ()

void
(*GtkSourceGutterDataFunc) (GtkSourceGutter *gutter,
                            GtkCellRenderer *cell,
                            gint line_number,
                            gboolean current_line,
                            gpointer data);

GtkSourceGutterSizeFunc ()

void
(*GtkSourceGutterSizeFunc) (GtkSourceGutter *gutter,
                            GtkCellRenderer *cell,
                            gpointer data);

gtk_source_gutter_get_window ()

GdkWindow *
gtk_source_gutter_get_window (GtkSourceGutter *gutter);

Get the GdkWindow of the gutter. The window will only be available when the gutter has at least one, non-zero width, cell renderer packed.

Parameters

gutter

a GtkSourceGutter

 

Returns

the GdkWindow of the gutter, or NULL if the gutter has no window.

Since 2.8


gtk_source_gutter_insert ()

void
gtk_source_gutter_insert (GtkSourceGutter *gutter,
                          GtkCellRenderer *renderer,
                          gint position);

Inserts renderer into gutter at position .

Parameters

gutter

a GtkSourceGutter

 

renderer

a GtkCellRenderer

 

position

the renderers position

 

Since 2.8


gtk_source_gutter_reorder ()

void
gtk_source_gutter_reorder (GtkSourceGutter *gutter,
                           GtkCellRenderer *renderer,
                           gint position);

Reorders renderer in gutter to new position .

Parameters

gutter

a GtkSourceGutter

 

renderer

a GtkCellRenderer

 

position

the new renderer position

 

Since 2.8


gtk_source_gutter_remove ()

void
gtk_source_gutter_remove (GtkSourceGutter *gutter,
                          GtkCellRenderer *renderer);

Removes renderer from gutter .

Parameters

gutter

a GtkSourceGutter

 

renderer

a GtkCellRenderer

 

Since 2.8


gtk_source_gutter_set_cell_data_func ()

void
gtk_source_gutter_set_cell_data_func (GtkSourceGutter *gutter,
                                      GtkCellRenderer *renderer,
                                      GtkSourceGutterDataFunc func,
                                      gpointer func_data,
                                      GDestroyNotify destroy);

Sets the GtkSourceGutterDataFunc to use for renderer . This function is used to setup the cell renderer properties for rendering the current cell.

Parameters

gutter

a GtkSourceGutter

 

renderer

a GtkCellRenderer

 

func

the GtkSourceGutterDataFunc to use

 

func_data

the user data for func

 

destroy

the destroy notification for func_data

 

Since 2.8


gtk_source_gutter_set_cell_size_func ()

void
gtk_source_gutter_set_cell_size_func (GtkSourceGutter *gutter,
                                      GtkCellRenderer *renderer,
                                      GtkSourceGutterSizeFunc func,
                                      gpointer func_data,
                                      GDestroyNotify destroy);

Sets the GtkSourceGutterSizeFunc to use for renderer . This function is used to setup the cell renderer properties for measuring the maximum size of the cell.

Parameters

gutter

a GtkSourceGutter

 

renderer

a GtkCellRenderer

 

func

the GtkSourceGutterSizeFunc to use

 

func_data

the user data for func

 

destroy

the destroy notification for func_data

 

Since 2.8


gtk_source_gutter_queue_draw ()

void
gtk_source_gutter_queue_draw (GtkSourceGutter *gutter);

Invalidates the drawable area of the gutter. You can use this to force a redraw of the gutter if something has changed and needs to be redrawn.

Parameters

gutter

a GtkSourceGutter

 

Since 2.8

Types and Values

struct GtkSourceGutter

struct GtkSourceGutter;

Property Details

The “view” property

  “view”                     GtkSourceView *

The GtkSourceView of the gutter

Flags: Read / Write / Construct Only


The “window-type” property

  “window-type”              GtkTextWindowType

The text window type on which the window is placed

Flags: Read / Write / Construct Only

Default value: GTK_TEXT_WINDOW_PRIVATE

Signal Details

The “cell-activated” signal

void
user_function (GtkSourceGutter *gutter,
               GtkCellRenderer *renderer,
               GtkTextIter     *iter,
               GdkEvent        *event,
               gpointer         user_data)

Emitted when a cell has been activated (for instance when there was a button press on the cell). The signal is only emitted for cells that have the activatable property set to TRUE.

Parameters

gutter

the GtkSourceGutter

 

renderer

the GtkCellRenderer which was activated

 

iter

the GtkTextIter at which the cell was activated

 

event

the GdkEvent with which the cell was activated

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “query-tooltip” signal

gboolean
user_function (GtkSourceGutter *gutter,
               GtkCellRenderer *renderer,
               GtkTextIter     *iter,
               GtkTooltip      *tooltip,
               gpointer         user_data)

Emitted when a tooltip is requested for a specific cell. Signal handlers can return TRUE to notify the tooltip has been handled.

Parameters

gutter

the GtkSourceGutter

 

renderer

the GtkCellRenderer which was activated

 

iter

the GtkTextIter at which the cell was activated

 

tooltip

the GtkTooltip

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

See Also

GtkSourceView