Description

The SourceGutter object represents the left and right gutters of the text view. It is used by
SourceView to draw the line numbers and category marks that might be present on a line. By
packing additional CellRenderer 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 TreeView. The concept is similar,
with the exception that the gutter does not have an underlying TreeModel. Instead, you should use
sourceGutterSetCellDataFunc 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
'SourceViewGutterPositionLines (-30)' and the marks renderer is at
'SourceViewGutterPositionMarks (-20)'. You can use these values to position custom renderers
accordingly. The width of a cell renderer can be specified as either fixed (using
cellRendererSetFixedSize) or dynamic, in which case you must set
sourceGutterSetCellSizeFunc. This callback is used to set the properties of the renderer
such that gtkCellRendererGetSize yields the maximum width of the cell.