Top | ![]() |
![]() |
![]() |
![]() |
GtkSourceGutterGtkSourceGutter — Gutter object for GtkSourceView |
void | (*GtkSourceGutterDataFunc) () |
void | (*GtkSourceGutterSizeFunc) () |
GdkWindow * | gtk_source_gutter_get_window () |
void | gtk_source_gutter_insert () |
void | gtk_source_gutter_reorder () |
void | gtk_source_gutter_remove () |
void | gtk_source_gutter_set_cell_data_func () |
void | gtk_source_gutter_set_cell_size_func () |
void | gtk_source_gutter_queue_draw () |
GtkSourceView * | view | Read / Write / Construct Only |
GtkTextWindowType | window-type | Read / Write / Construct Only |
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.
void (*GtkSourceGutterDataFunc) (GtkSourceGutter *gutter
,GtkCellRenderer *cell
,gint line_number
,gboolean current_line
,gpointer data
);
void (*GtkSourceGutterSizeFunc) (GtkSourceGutter *gutter
,GtkCellRenderer *cell
,gpointer data
);
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.
Since: 2.8
void gtk_source_gutter_insert (GtkSourceGutter *gutter
,GtkCellRenderer *renderer
,gint position
);
Inserts renderer
into gutter
at position
.
Since: 2.8
void gtk_source_gutter_reorder (GtkSourceGutter *gutter
,GtkCellRenderer *renderer
,gint position
);
Reorders renderer
in gutter
to new position
.
Since: 2.8
void gtk_source_gutter_remove (GtkSourceGutter *gutter
,GtkCellRenderer *renderer
);
Removes renderer
from gutter
.
Since: 2.8
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.
gutter |
||
renderer |
a GtkCellRenderer |
|
func |
the GtkSourceGutterDataFunc to use |
|
func_data |
the user data for |
|
destroy |
the destroy notification for |
Since: 2.8
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.
gutter |
||
renderer |
a GtkCellRenderer |
|
func |
the GtkSourceGutterSizeFunc to use |
|
func_data |
the user data for |
|
destroy |
the destroy notification for |
Since: 2.8
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.
Since: 2.8
“view”
property“view” GtkSourceView *
The GtkSourceView of the gutter
Flags: Read / Write / Construct Only
“cell-activated”
signalvoid 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
.
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
“query-tooltip”
signalgboolean 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.
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