Class
GtkTreeView
Description [src]
class Gtk.TreeView : Gtk.Container
implements Atk.ImplementorIface, Gtk.Buildable, Gtk.Scrollable {
/* No available fields */
}
Widget that displays any object that implements the GtkTreeModel
interface.
Please refer to the tree widget conceptual overview for an overview of all the objects and data types related to the tree widget and how they work together.
Several different coordinate systems are exposed in the GtkTreeView API. These are:
Coordinate systems in GtkTreeView API:
-
Widget coordinates: Coordinates relative to the widget (usually
widget->window
). -
Bin window coordinates: Coordinates relative to the window that GtkTreeView renders to.
-
Tree coordinates: Coordinates relative to the entire scrollable area of GtkTreeView. These coordinates start at (0, 0) for row 0 of the tree.
Several functions are available for converting between the different
coordinate systems. The most common translations are between widget and bin
window coordinates and between bin window and tree coordinates. For the
former you can use gtk_tree_view_convert_widget_to_bin_window_coords()
(and vice versa), for the latter gtk_tree_view_convert_bin_window_to_tree_coords()
(and vice versa).
GtkTreeView as GtkBuildable
The GtkTreeView implementation of the GtkBuildable interface accepts
GtkTreeViewColumn
objects as <child>
elements and exposes the internal
GtkTreeSelection
in UI definitions.
An example of a UI definition fragment with GtkTreeView:
<object class="GtkTreeView" id="treeview">
<property name="model">liststore1</property>
<child>
<object class="GtkTreeViewColumn" id="test-column">
<property name="title">Test</property>
<child>
<object class="GtkCellRendererText" id="test-renderer"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child internal-child="selection">
<object class="GtkTreeSelection" id="selection">
<signal name="changed" handler="on_treeview_selection_changed"/>
</object>
</child>
</object>
CSS nodes
treeview.view
├── header
│ ├── <column header>
┊ ┊
│ ╰── <column header>
│
╰── [rubberband]
GtkTreeView has a main CSS node with name treeview and style class .view. It has a subnode with name header, which is the parent for all the column header widgets’ CSS nodes. For rubberband selection, a subnode with name rubberband is used.
Instance methods
gtk_tree_view_append_column
Appends column
to the list of columns. If tree_view
has “fixed_height”
mode enabled, then column
must have its “sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED.
gtk_tree_view_columns_autosize
Resizes all columns to their optimal width. Only works after the treeview has been realized.
gtk_tree_view_convert_bin_window_to_tree_coords
Converts bin_window coordinates to coordinates for the tree (the full scrollable area of the tree).
since: 2.12
gtk_tree_view_convert_bin_window_to_widget_coords
Converts bin_window coordinates (see gtk_tree_view_get_bin_window()) to widget relative coordinates.
since: 2.12
gtk_tree_view_convert_tree_to_bin_window_coords
Converts tree coordinates (coordinates in full scrollable area of the tree) to bin_window coordinates.
since: 2.12
gtk_tree_view_convert_tree_to_widget_coords
Converts tree coordinates (coordinates in full scrollable area of the tree) to widget coordinates.
since: 2.12
gtk_tree_view_convert_widget_to_bin_window_coords
Converts widget coordinates to coordinates for the bin_window (see gtk_tree_view_get_bin_window()).
since: 2.12
gtk_tree_view_convert_widget_to_tree_coords
Converts widget coordinates to coordinates for the tree (the full scrollable area of the tree).
since: 2.12
gtk_tree_view_create_row_drag_icon
Creates a #cairo_surface_t representation of the row at path
.
This image is used for a drag icon.
gtk_tree_view_enable_model_drag_dest
Turns tree_view
into a drop destination for automatic DND. Calling
this method sets GtkTreeView:reorderable
to FALSE
.
gtk_tree_view_enable_model_drag_source
Turns tree_view
into a drag source for automatic DND. Calling this
method sets GtkTreeView:reorderable
to FALSE
.
gtk_tree_view_expand_to_path
Expands the row at path
. This will also expand all parent rows of
path
as necessary.
since: 2.2
gtk_tree_view_get_activate_on_single_click
Gets the setting set by gtk_tree_view_set_activate_on_single_click().
since: 3.8
gtk_tree_view_get_background_area
Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by path
and the column specified by column
. If path
is
NULL
, or points to a node not found in the tree, the y
and height
fields of
the rectangle will be filled with 0. If column
is NULL
, the x
and width
fields will be filled with 0. The returned rectangle is equivalent to the
background_area
passed to gtk_cell_renderer_render(). These background
areas tile to cover the entire bin window. Contrast with the cell_area
,
returned by gtk_tree_view_get_cell_area(), which returns only the cell
itself, excluding surrounding borders and the tree expander area.
gtk_tree_view_get_bin_window
Returns the window that tree_view
renders to.
This is used primarily to compare to event->window
to confirm that the event on tree_view
is on the right window.
gtk_tree_view_get_cell_area
Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by path
and the column specified by column
. If path
is
NULL
, or points to a path not currently displayed, the y
and height
fields
of the rectangle will be filled with 0. If column
is NULL
, the x
and width
fields will be filled with 0. The sum of all cell rects does not cover the
entire tree; there are extra pixels in between rows, for example. The
returned rectangle is equivalent to the cell_area
passed to
gtk_cell_renderer_render(). This function is only valid if tree_view
is realized.
gtk_tree_view_get_columns
Returns a GList
of all the GtkTreeViewColumn
s currently in tree_view
.
The returned list must be freed with g_list_free ().
gtk_tree_view_get_cursor
Fills in path
and focus_column
with the current path and focus column. If
the cursor isn’t currently set, then path
will be NULL
. If no column
currently has focus, then focus_column
will be NULL
.
gtk_tree_view_get_dest_row_at_pos
Determines the destination row for a given position. drag_x
and
drag_y
are expected to be in widget coordinates. This function is only
meaningful if tree_view
is realized. Therefore this function will always
return FALSE
if tree_view
is not realized or does not have a model.
gtk_tree_view_get_enable_search
Returns whether or not the tree allows to start interactive searching by typing in text.
gtk_tree_view_get_enable_tree_lines
Returns whether or not tree lines are drawn in tree_view
.
since: 2.10
gtk_tree_view_get_expander_column
Returns the column that is the current expander column. This column has the expander arrow drawn next to it.
gtk_tree_view_get_fixed_height_mode
Returns whether fixed height mode is turned on for tree_view
.
since: 2.6
gtk_tree_view_get_hadjustment
Gets the GtkAdjustment
currently being used for the horizontal aspect.
deprecated: 3.0
gtk_tree_view_get_hover_expand
Returns whether hover expansion mode is turned on for tree_view
.
since: 2.6
gtk_tree_view_get_hover_selection
Returns whether hover selection mode is turned on for tree_view
.
since: 2.6
gtk_tree_view_get_level_indentation
Returns the amount, in pixels, of extra indentation for child levels
in tree_view
.
since: 2.12
gtk_tree_view_get_model
Returns the model the GtkTreeView
is based on. Returns NULL
if the
model is unset.
gtk_tree_view_get_path_at_pos
Finds the path at the point (x
, y
), relative to bin_window coordinates
(please see gtk_tree_view_get_bin_window()).
That is, x
and y
are relative to an events coordinates. x
and y
must
come from an event on the tree_view
only where event->window ==
gtk_tree_view_get_bin_window ()
. It is primarily for
things like popup menus. If path
is non-NULL
, then it will be filled
with the GtkTreePath
at that point. This path should be freed with
gtk_tree_path_free(). If column
is non-NULL
, then it will be filled
with the column at that point. cell_x
and cell_y
return the coordinates
relative to the cell background (i.e. the background_area
passed to
gtk_cell_renderer_render()). This function is only meaningful if
tree_view
is realized. Therefore this function will always return FALSE
if tree_view
is not realized or does not have a model.
gtk_tree_view_get_reorderable
Retrieves whether the user can reorder the tree via drag-and-drop. See gtk_tree_view_set_reorderable().
gtk_tree_view_get_rubber_banding
Returns whether rubber banding is turned on for tree_view
. If the
selection mode is #GTK_SELECTION_MULTIPLE, rubber banding will allow the
user to select multiple rows by dragging the mouse.
since: 2.10
gtk_tree_view_get_rules_hint
Gets the setting set by gtk_tree_view_set_rules_hint().
deprecated: 3.14
gtk_tree_view_get_search_entry
Returns the GtkEntry
which is currently in use as interactive search
entry for tree_view
. In case the built-in entry is being used, NULL
will be returned.
since: 2.10
gtk_tree_view_get_search_position_func
Returns the positioning function currently in use.
since: 2.10
gtk_tree_view_get_show_expanders
Returns whether or not expanders are drawn in tree_view
.
since: 2.12
gtk_tree_view_get_tooltip_column
Returns the column of tree_view
’s model which is being used for
displaying tooltips on tree_view
’s rows.
since: 2.12
gtk_tree_view_get_tooltip_context
This function is supposed to be used in a GtkWidget::query-tooltip
signal handler for GtkTreeView
. The x
, y
and keyboard_tip
values
which are received in the signal handler, should be passed to this
function without modification.
since: 2.12
gtk_tree_view_get_vadjustment
Gets the GtkAdjustment
currently being used for the vertical aspect.
deprecated: 3.0
gtk_tree_view_get_visible_range
Sets start_path
and end_path
to be the first and last visible path.
Note that there may be invisible paths in between.
since: 2.8
gtk_tree_view_get_visible_rect
Fills visible_rect
with the currently-visible region of the
buffer, in tree coordinates. Convert to bin_window coordinates with
gtk_tree_view_convert_tree_to_bin_window_coords().
Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire
scrollable area of the tree.
gtk_tree_view_insert_column
This inserts the column
into the tree_view
at position
. If position
is
-1, then the column is inserted at the end. If tree_view
has
“fixed_height” mode enabled, then column
must have its “sizing” property
set to be GTK_TREE_VIEW_COLUMN_FIXED.
gtk_tree_view_insert_column_with_attributes
Creates a new GtkTreeViewColumn
and inserts it into the tree_view
at
position
. If position
is -1, then the newly created column is inserted at
the end. The column is initialized with the attributes given. If tree_view
has “fixed_height” mode enabled, then the new column will have its sizing
property set to be GTK_TREE_VIEW_COLUMN_FIXED.
gtk_tree_view_insert_column_with_data_func
Convenience function that inserts a new column into the GtkTreeView
with the given cell renderer and a GtkTreeCellDataFunc
to set cell renderer
attributes (normally using data from the model). See also
gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_pack_start().
If tree_view
has “fixed_height” mode enabled, then the new column will have its
“sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED.
gtk_tree_view_is_blank_at_pos
Determine whether the point (x
, y
) in tree_view
is blank, that is no
cell content nor an expander arrow is drawn at the location. If so, the
location can be considered as the background. You might wish to take
special action on clicks on the background, such as clearing a current
selection, having a custom context menu or starting rubber banding.
since: 3.0
gtk_tree_view_is_rubber_banding_active
Returns whether a rubber banding operation is currently being done
in tree_view
.
since: 2.12
gtk_tree_view_move_column_after
Moves column
to be after to base_column
. If base_column
is NULL
, then
column
is placed in the first position.
gtk_tree_view_scroll_to_cell
Moves the alignments of tree_view
to the position specified by column
and
path
. If column
is NULL
, then no horizontal scrolling occurs. Likewise,
if path
is NULL
no vertical scrolling occurs. At a minimum, one of column
or path
need to be non-NULL
. row_align
determines where the row is
placed, and col_align
determines where column
is placed. Both are expected
to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means
right/bottom alignment, 0.5 means center.
gtk_tree_view_scroll_to_point
Scrolls the tree view such that the top-left corner of the visible
area is tree_x
, tree_y
, where tree_x
and tree_y
are specified
in tree coordinates. The tree_view
must be realized before
this function is called. If it isn’t, you probably want to be
using gtk_tree_view_scroll_to_cell().
gtk_tree_view_set_activate_on_single_click
Cause the GtkTreeView::row-activated
signal to be emitted
on a single click instead of a double click.
since: 3.8
gtk_tree_view_set_column_drag_function
Sets a user function for determining where a column may be dropped when
dragged. This function is called on every column pair in turn at the
beginning of a column drag to determine where a drop can take place. The
arguments passed to func
are: the tree_view
, the GtkTreeViewColumn
being
dragged, the two GtkTreeViewColumn
s determining the drop spot, and
user_data
. If either of the GtkTreeViewColumn
arguments for the drop spot
are NULL
, then they indicate an edge. If func
is set to be NULL
, then
tree_view
reverts to the default behavior of allowing all columns to be
dropped everywhere.
gtk_tree_view_set_cursor
Sets the current keyboard focus to be at path
, and selects it. This is
useful when you want to focus the user’s attention on a particular row. If
focus_column
is not NULL
, then focus is given to the column specified by
it. Additionally, if focus_column
is specified, and start_editing
is
TRUE
, then editing should be started in the specified cell.
This function is often followed by gtk_widget_grab_focus
(tree_view
)
in order to give keyboard focus to the widget. Please note that editing
can only happen when the widget is realized.
gtk_tree_view_set_cursor_on_cell
Sets the current keyboard focus to be at path
, and selects it. This is
useful when you want to focus the user’s attention on a particular row. If
focus_column
is not NULL
, then focus is given to the column specified by
it. If focus_column
and focus_cell
are not NULL
, and focus_column
contains 2 or more editable or activatable cells, then focus is given to
the cell specified by focus_cell
. Additionally, if focus_column
is
specified, and start_editing
is TRUE
, then editing should be started in
the specified cell. This function is often followed by
gtk_widget_grab_focus
(tree_view
) in order to give keyboard focus to the
widget. Please note that editing can only happen when the widget is realized.
since: 2.2
gtk_tree_view_set_destroy_count_func
This function should almost never be used. It is meant for private use by ATK for determining the number of visible children that are removed when the user collapses a row, or a row is deleted.
deprecated: 3.4
gtk_tree_view_set_drag_dest_row
Sets the row that is highlighted for feedback.
If path
is NULL
, an existing highlight is removed.
gtk_tree_view_set_enable_search
If enable_search
is set, then the user can type in text to search through
the tree interactively (this is sometimes called “typeahead find”).
gtk_tree_view_set_enable_tree_lines
Sets whether to draw lines interconnecting the expanders in tree_view
.
This does not have any visible effects for lists.
since: 2.10
gtk_tree_view_set_expander_column
Sets the column to draw the expander arrow at. It must be in tree_view
.
If column
is NULL
, then the expander arrow is always at the first
visible column.
gtk_tree_view_set_fixed_height_mode
Enables or disables the fixed height mode of tree_view
.
Fixed height mode speeds up GtkTreeView
by assuming that all
rows have the same height.
Only enable this option if all rows are the same height and all
columns are of type GTK_TREE_VIEW_COLUMN_FIXED
.
since: 2.6
gtk_tree_view_set_hadjustment
Sets the GtkAdjustment
for the current horizontal aspect.
deprecated: 3.0
gtk_tree_view_set_hover_expand
Enables or disables the hover expansion mode of tree_view
.
Hover expansion makes rows expand or collapse if the pointer
moves over them.
since: 2.6
gtk_tree_view_set_hover_selection
Enables or disables the hover selection mode of tree_view
.
Hover selection makes the selected row follow the pointer.
Currently, this works only for the selection modes
GTK_SELECTION_SINGLE
and GTK_SELECTION_BROWSE
.
since: 2.6
gtk_tree_view_set_level_indentation
Sets the amount of extra indentation for child levels to use in tree_view
in addition to the default indentation. The value should be specified in
pixels, a value of 0 disables this feature and in this case only the default
indentation will be used.
This does not have any visible effects for lists.
since: 2.12
gtk_tree_view_set_model
Sets the model for a GtkTreeView
. If the tree_view
already has a model
set, it will remove it before setting the new model. If model
is NULL
,
then it will unset the old model.
gtk_tree_view_set_reorderable
This function is a convenience function to allow you to reorder
models that support the GtkTreeDragSourceIface
and the
GtkTreeDragDestIface
. Both GtkTreeStore
and GtkListStore
support
these. If reorderable
is TRUE
, then the user can reorder the
model by dragging and dropping rows. The developer can listen to
these changes by connecting to the model’s GtkTreeModel::row-inserted
and GtkTreeModel::row-deleted
signals. The reordering is implemented
by setting up the tree view as a drag source and destination.
Therefore, drag and drop can not be used in a reorderable view for any
other purpose.
gtk_tree_view_set_row_separator_func
Sets the row separator function, which is used to determine
whether a row should be drawn as a separator. If the row separator
function is NULL
, no separators are drawn. This is the default value.
since: 2.6
gtk_tree_view_set_rubber_banding
Enables or disables rubber banding in tree_view
. If the selection mode
is #GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select
multiple rows by dragging the mouse.
since: 2.10
gtk_tree_view_set_rules_hint
Sets a hint for the theme to draw even/odd rows in the tree_view
with different colors, also known as “zebra striping”.
deprecated: 3.14
gtk_tree_view_set_search_column
Sets column
as the column where the interactive search code should
search in for the current model.
gtk_tree_view_set_search_entry
Sets the entry which the interactive search code will use for this
tree_view
. This is useful when you want to provide a search entry
in our interface at all time at a fixed position. Passing NULL
for
entry
will make the interactive search code use the built-in popup
entry again.
since: 2.10
gtk_tree_view_set_search_equal_func
Sets the compare function for the interactive search capabilities; note
that somewhat like strcmp()
returning 0 for equality
GtkTreeViewSearchEqualFunc
returns FALSE
on matches.
gtk_tree_view_set_search_position_func
Sets the function to use when positioning the search dialog.
since: 2.10
gtk_tree_view_set_show_expanders
Sets whether to draw and enable expanders and indent child rows in
tree_view
. When disabled there will be no expanders visible in trees
and there will be no way to expand and collapse rows by default. Also
note that hiding the expanders will disable the default indentation. You
can set a custom indentation in this case using
gtk_tree_view_set_level_indentation().
This does not have any visible effects for lists.
since: 2.12
gtk_tree_view_set_tooltip_cell
Sets the tip area of tooltip
to the area path
, column
and cell
have
in common. For example if path
is NULL
and column
is set, the tip
area will be set to the full area covered by column
. See also gtk_tooltip_set_tip_area().
since: 2.12
gtk_tree_view_set_tooltip_column
If you only plan to have simple (text-only) tooltips on full rows, you
can use this function to have GtkTreeView
handle these automatically
for you. column
should be set to the column in tree_view
’s model
containing the tooltip texts, or -1 to disable this feature.
since: 2.12
gtk_tree_view_set_tooltip_row
Sets the tip area of tooltip
to be the area covered by the row at path
.
See also gtk_tree_view_set_tooltip_column()
for a simpler alternative.
See also gtk_tooltip_set_tip_area().
since: 2.12
gtk_tree_view_set_vadjustment
Sets the GtkAdjustment
for the current vertical aspect.
deprecated: 3.0
gtk_tree_view_unset_rows_drag_dest
Undoes the effect of
gtk_tree_view_enable_model_drag_dest(). Calling this method sets
GtkTreeView:reorderable
to FALSE
.
gtk_tree_view_unset_rows_drag_source
Undoes the effect of
gtk_tree_view_enable_model_drag_source(). Calling this method sets
GtkTreeView:reorderable
to FALSE
.
Methods inherited from GtkContainer (33)
Please see GtkContainer for a full list of methods.
Methods inherited from GtkBuildable (10)
gtk_buildable_add_child
Adds a child to buildable
. type
is an optional string
describing how the child should be added.
since: 2.12
gtk_buildable_construct_child
Constructs a child of buildable
with the name name
.
since: 2.12
gtk_buildable_custom_finished
This is similar to gtk_buildable_parser_finished()
but is
called once for each custom tag handled by the buildable
.
since: 2.12
gtk_buildable_custom_tag_end
This is called at the end of each custom element handled by the buildable.
since: 2.12
gtk_buildable_custom_tag_start
This is called for each unknown element under <child>
.
since: 2.12
gtk_buildable_get_internal_child
Get the internal child called childname
of the buildable
object.
since: 2.12
gtk_buildable_get_name
Gets the name of the buildable
object.
since: 2.12
gtk_buildable_parser_finished
Called when the builder finishes the parsing of a
[GtkBuilder UI definition][BUILDER-UI].
Note that this will be called once for each time
gtk_builder_add_from_file()
or gtk_builder_add_from_string()
is called on a builder.
since: 2.12
gtk_buildable_set_buildable_property
Sets the property name name
to value
on the buildable
object.
since: 2.12
gtk_buildable_set_name
Sets the name of the buildable
object.
since: 2.12
Methods inherited from GtkScrollable (9)
gtk_scrollable_get_border
Returns the size of a non-scrolling border around the outside of the scrollable. An example for this would be treeview headers. GTK+ can use this information to display overlayed graphics, like the overshoot indication, at the right position.
since: 3.16
gtk_scrollable_get_hadjustment
Retrieves the GtkAdjustment
used for horizontal scrolling.
since: 3.0
gtk_scrollable_get_hscroll_policy
Gets the horizontal GtkScrollablePolicy
.
since: 3.0
gtk_scrollable_get_vadjustment
Retrieves the GtkAdjustment
used for vertical scrolling.
since: 3.0
gtk_scrollable_get_vscroll_policy
Gets the vertical GtkScrollablePolicy
.
since: 3.0
gtk_scrollable_set_hadjustment
Sets the horizontal adjustment of the GtkScrollable
.
since: 3.0
gtk_scrollable_set_hscroll_policy
Sets the GtkScrollablePolicy
to determine whether
horizontal scrolling should start below the minimum width or
below the natural width.
since: 3.0
gtk_scrollable_set_vadjustment
Sets the vertical adjustment of the GtkScrollable
.
since: 3.0
gtk_scrollable_set_vscroll_policy
Sets the GtkScrollablePolicy
to determine whether
vertical scrolling should start below the minimum height or
below the natural height.
since: 3.0
Properties
Gtk.TreeView:activate-on-single-click
The activate-on-single-click property specifies whether the “row-activated” signal will be emitted after a single click.
since: 3.8
Gtk.TreeView:fixed-height-mode
Setting the ::fixed-height-mode property to TRUE
speeds up
GtkTreeView
by assuming that all rows have the same height.
Only enable this option if all rows are the same height.
Please see gtk_tree_view_set_fixed_height_mode()
for more
information on this option.
since: 2.4
Gtk.TreeView:hover-expand
Enables or disables the hover expansion mode of tree_view
.
Hover expansion makes rows expand or collapse if the pointer moves
over them.
since: 2.6
Gtk.TreeView:hover-selection
Enables or disables the hover selection mode of tree_view
.
Hover selection makes the selected row follow the pointer.
Currently, this works only for the selection modes
GTK_SELECTION_SINGLE
and GTK_SELECTION_BROWSE
.
since: 2.6
Gtk.TreeView:rules-hint
Sets a hint to the theme to draw rows in alternating colors.
deprecated: 3.14
Properties inherited from GtkContainer (3)
Gtk.Container:border-width
Gtk.Container:child
Gtk.Container:resize-mode
Properties inherited from GtkWidget (39)
Gtk.Widget:app-paintable
Gtk.Widget:can-default
Gtk.Widget:can-focus
Gtk.Widget:composite-child
Gtk.Widget:double-buffered
Whether the widget is double buffered.
deprecated: 3.14 since: 2.18
Gtk.Widget:events
Gtk.Widget:expand
Whether to expand in both directions. Setting this sets both GtkWidget:hexpand
and GtkWidget:vexpand
.
since: 3.0
Gtk.Widget:focus-on-click
Whether the widget should grab focus when it is clicked with the mouse.
since: 3.20
Gtk.Widget:halign
How to distribute horizontal space if widget gets extra space, see GtkAlign
.
since: 3.0
Gtk.Widget:has-default
Gtk.Widget:has-focus
Gtk.Widget:has-tooltip
Enables or disables the emission of GtkWidget::query-tooltip
on widget
.
A value of TRUE
indicates that widget
can have a tooltip, in this case
the widget will be queried using GtkWidget::query-tooltip
to determine
whether it will provide a tooltip or not.
since: 2.12
Gtk.Widget:height-request
Gtk.Widget:hexpand
Whether to expand horizontally. See gtk_widget_set_hexpand().
since: 3.0
Gtk.Widget:hexpand-set
Whether to use the GtkWidget:hexpand
property. See gtk_widget_get_hexpand_set().
since: 3.0
Gtk.Widget:is-focus
Gtk.Widget:margin
Sets all four sides’ margin at once. If read, returns max margin on any side.
since: 3.0
Gtk.Widget:margin-bottom
Margin on bottom side of widget.
since: 3.0
Gtk.Widget:margin-end
Margin on end of widget, horizontally. This property supports left-to-right and right-to-left text directions.
since: 3.12
Gtk.Widget:margin-left
Margin on left side of widget.
deprecated: 3.12 since: 3.0
Gtk.Widget:margin-right
Margin on right side of widget.
deprecated: 3.12 since: 3.0
Gtk.Widget:margin-start
Margin on start of widget, horizontally. This property supports left-to-right and right-to-left text directions.
since: 3.12
Gtk.Widget:margin-top
Margin on top side of widget.
since: 3.0
Gtk.Widget:name
Gtk.Widget:no-show-all
Gtk.Widget:opacity
The requested opacity of the widget. See gtk_widget_set_opacity()
for
more details about window opacity.
since: 3.8
Gtk.Widget:parent
Gtk.Widget:receives-default
Gtk.Widget:scale-factor
The scale factor of the widget. See gtk_widget_get_scale_factor()
for
more details about widget scaling.
since: 3.10
Gtk.Widget:sensitive
Gtk.Widget:style
The style of the widget, which contains information about how it will look (colors, etc).
deprecated: Unknown
Gtk.Widget:tooltip-markup
Sets the text of tooltip to be the given string, which is marked up with the [Pango text markup language][PangoMarkupFormat]. Also see gtk_tooltip_set_markup().
since: 2.12
Gtk.Widget:tooltip-text
Sets the text of tooltip to be the given string.
since: 2.12
Gtk.Widget:valign
How to distribute vertical space if widget gets extra space, see GtkAlign
.
since: 3.0
Gtk.Widget:vexpand
Whether to expand vertically. See gtk_widget_set_vexpand().
since: 3.0
Gtk.Widget:vexpand-set
Whether to use the GtkWidget:vexpand
property. See gtk_widget_get_vexpand_set().
since: 3.0
Gtk.Widget:visible
Gtk.Widget:width-request
Gtk.Widget:window
The widget’s window if it is realized, NULL
otherwise.
since: 2.14
Properties inherited from GtkScrollable (4)
GtkScrollable:hadjustment
Horizontal GtkAdjustment
of the scrollable widget. This adjustment is
shared between the scrollable widget and its parent.
since: 3.0
GtkScrollable:hscroll-policy
Determines whether horizontal scrolling should start once the scrollable widget is allocated less than its minimum width or less than its natural width.
since: 3.0
GtkScrollable:vadjustment
Verical GtkAdjustment
of the scrollable widget. This adjustment is shared
between the scrollable widget and its parent.
since: 3.0
GtkScrollable:vscroll-policy
Determines whether vertical scrolling should start once the scrollable widget is allocated less than its minimum height or less than its natural height.
since: 3.0
Signals
Gtk.TreeView::move-cursor
The GtkTreeView::move-cursor
signal is a [keybinding
signal][GtkBindingSignal] which gets emitted when the user
presses one of the cursor keys.
Gtk.TreeView::row-activated
The “row-activated” signal is emitted when the method
gtk_tree_view_row_activated()
is called, when the user double
clicks a treeview row with the “activate-on-single-click”
property set to FALSE
, or when the user single clicks a row when
the “activate-on-single-click” property set to TRUE
. It is also
emitted when a non-editable row is selected and one of the keys:
Space, Shift+Space, Return or Enter is pressed.
Gtk.TreeView::test-collapse-row
The given row is about to be collapsed (hide its children nodes). Use this signal if you need to control the collapsibility of individual rows.
Gtk.TreeView::test-expand-row
The given row is about to be expanded (show its children nodes). Use this signal if you need to control the expandability of individual rows.
Signals inherited from GtkContainer (4)
GtkContainer::add
GtkContainer::check-resize
GtkContainer::remove
GtkContainer::set-focus-child
Signals inherited from GtkWidget (69)
GtkWidget::accel-closures-changed
GtkWidget::button-press-event
The ::button-press-event signal will be emitted when a button (typically from a mouse) is pressed.
GtkWidget::button-release-event
The ::button-release-event signal will be emitted when a button (typically from a mouse) is released.
GtkWidget::can-activate-accel
Determines whether an accelerator that activates the signal
identified by signal_id
can currently be activated.
This signal is present to allow applications and derived
widgets to override the default GtkWidget
handling
for determining whether an accelerator can be activated.
GtkWidget::child-notify
The ::child-notify signal is emitted for each [child property][child-properties] that has changed on an object. The signal’s detail holds the property name.
GtkWidget::composited-changed
The ::composited-changed signal is emitted when the composited
status of widgets
screen changes.
See gdk_screen_is_composited().
deprecated: 3.22
GtkWidget::configure-event
The ::configure-event signal will be emitted when the size, position or
stacking of the widget
‘s window has changed.
GtkWidget::damage-event
Emitted when a redirected window belonging to widget
gets drawn into.
The region/area members of the event shows what area of the redirected
drawable was drawn into.
since: 2.14
GtkWidget::delete-event
The ::delete-event signal is emitted if a user requests that
a toplevel window is closed. The default handler for this signal
destroys the window. Connecting gtk_widget_hide_on_delete()
to
this signal will cause the window to be hidden instead, so that
it can later be shown again without reconstructing it.
GtkWidget::destroy
Signals that all holders of a reference to the widget should release the reference that they hold. May result in finalization of the widget if all references are released.
GtkWidget::destroy-event
The ::destroy-event signal is emitted when a GdkWindow
is destroyed.
You rarely get this signal, because most widgets disconnect themselves
from their window before they destroy it, so no widget owns the
window at destroy time.
GtkWidget::direction-changed
The ::direction-changed signal is emitted when the text direction of a widget changes.
GtkWidget::drag-begin
The ::drag-begin signal is emitted on the drag source when a drag is started. A typical reason to connect to this signal is to set up a custom drag icon with e.g. gtk_drag_source_set_icon_pixbuf().
GtkWidget::drag-data-delete
The ::drag-data-delete signal is emitted on the drag source when a drag
with the action GDK_ACTION_MOVE
is successfully completed. The signal
handler is responsible for deleting the data that has been dropped. What
“delete” means depends on the context of the drag operation.
GtkWidget::drag-data-get
The ::drag-data-get signal is emitted on the drag source when the drop
site requests the data which is dragged. It is the responsibility of
the signal handler to fill data
with the data in the format which
is indicated by info
. See gtk_selection_data_set()
and gtk_selection_data_set_text().
GtkWidget::drag-data-received
The ::drag-data-received signal is emitted on the drop site when the
dragged data has been received. If the data was received in order to
determine whether the drop will be accepted, the handler is expected
to call gdk_drag_status()
and not finish the drag.
If the data was received in response to a GtkWidget::drag-drop
signal
(and this is the last target to be received), the handler for this
signal is expected to process the received data and then call
gtk_drag_finish(), setting the success
parameter depending on
whether the data was processed successfully.
GtkWidget::drag-drop
The ::drag-drop signal is emitted on the drop site when the user drops
the data onto the widget. The signal handler must determine whether
the cursor position is in a drop zone or not. If it is not in a drop
zone, it returns FALSE
and no further processing is necessary.
Otherwise, the handler returns TRUE
. In this case, the handler must
ensure that gtk_drag_finish()
is called to let the source know that
the drop is done. The call to gtk_drag_finish()
can be done either
directly or in a GtkWidget::drag-data-received
handler which gets
triggered by calling gtk_drag_get_data()
to receive the data for one
or more of the supported targets.
GtkWidget::drag-end
The ::drag-end signal is emitted on the drag source when a drag is
finished. A typical reason to connect to this signal is to undo
things done in GtkWidget::drag-begin
.
GtkWidget::drag-failed
The ::drag-failed signal is emitted on the drag source when a drag has
failed. The signal handler may hook custom code to handle a failed DnD
operation based on the type of error, it returns TRUE
is the failure has
been already handled (not showing the default “drag operation failed”
animation), otherwise it returns FALSE
.
since: 2.12
GtkWidget::drag-leave
The ::drag-leave signal is emitted on the drop site when the cursor
leaves the widget. A typical reason to connect to this signal is to
undo things done in GtkWidget::drag-motion
, e.g. undo highlighting
with gtk_drag_unhighlight().
GtkWidget::drag-motion
The ::drag-motion signal is emitted on the drop site when the user
moves the cursor over the widget during a drag. The signal handler
must determine whether the cursor position is in a drop zone or not.
If it is not in a drop zone, it returns FALSE
and no further processing
is necessary. Otherwise, the handler returns TRUE
. In this case, the
handler is responsible for providing the necessary information for
displaying feedback to the user, by calling gdk_drag_status().
GtkWidget::draw
This signal is emitted when a widget is supposed to render itself.
The widget
‘s top left corner must be painted at the origin of
the passed in context and be sized to the values returned by
gtk_widget_get_allocated_width()
and gtk_widget_get_allocated_height().
since: 3.0
GtkWidget::enter-notify-event
The ::enter-notify-event will be emitted when the pointer enters
the widget
‘s window.
GtkWidget::event
The GTK+ main loop will emit three signals for each GDK event delivered
to a widget: one generic ::event signal, another, more specific,
signal that matches the type of event delivered (e.g.
GtkWidget::key-press-event
) and finally a generic
GtkWidget::event-after
signal.
GtkWidget::event-after
After the emission of the GtkWidget::event
signal and (optionally)
the second more specific signal, ::event-after will be emitted
regardless of the previous two signals handlers return values.
GtkWidget::focus
GtkWidget::focus-in-event
The ::focus-in-event signal will be emitted when the keyboard focus
enters the widget
‘s window.
GtkWidget::focus-out-event
The ::focus-out-event signal will be emitted when the keyboard focus
leaves the widget
‘s window.
GtkWidget::grab-broken-event
Emitted when a pointer or keyboard grab on a window belonging
to widget
gets broken.
since: 2.8
GtkWidget::grab-focus
GtkWidget::grab-notify
The ::grab-notify signal is emitted when a widget becomes shadowed by a GTK+ grab (not a pointer or keyboard grab) on another widget, or when it becomes unshadowed due to a grab being removed.
GtkWidget::hide
The ::hide signal is emitted when widget
is hidden, for example with gtk_widget_hide().
GtkWidget::hierarchy-changed
The ::hierarchy-changed signal is emitted when the
anchored state of a widget changes. A widget is
“anchored” when its toplevel
ancestor is a GtkWindow
. This signal is emitted when
a widget changes from un-anchored to anchored or vice-versa.
GtkWidget::key-press-event
The ::key-press-event signal is emitted when a key is pressed. The signal emission will reoccur at the key-repeat rate when the key is kept pressed.
GtkWidget::key-release-event
The ::key-release-event signal is emitted when a key is released.
GtkWidget::keynav-failed
Gets emitted if keyboard navigation fails.
See gtk_widget_keynav_failed()
for details.
since: 2.12
GtkWidget::leave-notify-event
The ::leave-notify-event will be emitted when the pointer leaves
the widget
‘s window.
GtkWidget::map
The ::map signal is emitted when widget
is going to be mapped, that is
when the widget is visible (which is controlled with
gtk_widget_set_visible()) and all its parents up to the toplevel widget
are also visible. Once the map has occurred, GtkWidget::map-event
will
be emitted.
GtkWidget::map-event
The ::map-event signal will be emitted when the widget
‘s window is
mapped. A window is mapped when it becomes visible on the screen.
GtkWidget::mnemonic-activate
The default handler for this signal activates widget
if group_cycling
is FALSE
, or just makes widget
grab focus if group_cycling
is TRUE
.
GtkWidget::motion-notify-event
The ::motion-notify-event signal is emitted when the pointer moves
over the widget’s GdkWindow
.
GtkWidget::move-focus
GtkWidget::parent-set
The ::parent-set signal is emitted when a new parent has been set on a widget.
GtkWidget::popup-menu
This signal gets emitted whenever a widget should pop up a context
menu. This usually happens through the standard key binding mechanism;
by pressing a certain key while a widget is focused, the user can cause
the widget to pop up a menu. For example, the GtkEntry
widget creates
a menu with clipboard commands. See the
[Popup Menu Migration Checklist][checklist-popup-menu]
for an example of how to use this signal.
GtkWidget::property-notify-event
The ::property-notify-event signal will be emitted when a property on
the widget
‘s window has been changed or deleted.
GtkWidget::proximity-in-event
To receive this signal the GdkWindow
associated to the widget needs
to enable the #GDK_PROXIMITY_IN_MASK mask.
GtkWidget::proximity-out-event
To receive this signal the GdkWindow
associated to the widget needs
to enable the #GDK_PROXIMITY_OUT_MASK mask.
GtkWidget::query-tooltip
Emitted when GtkWidget:has-tooltip
is TRUE
and the hover timeout
has expired with the cursor hovering “above” widget
; or emitted when widget
got
focus in keyboard mode.
since: 2.12
GtkWidget::realize
The ::realize signal is emitted when widget
is associated with a
GdkWindow
, which means that gtk_widget_realize()
has been called or the
widget has been mapped (that is, it is going to be drawn).
GtkWidget::screen-changed
The ::screen-changed signal gets emitted when the screen of a widget has changed.
GtkWidget::scroll-event
The ::scroll-event signal is emitted when a button in the 4 to 7 range is pressed. Wheel mice are usually configured to generate button press events for buttons 4 and 5 when the wheel is turned.
GtkWidget::selection-clear-event
The ::selection-clear-event signal will be emitted when the
the widget
‘s window has lost ownership of a selection.
GtkWidget::selection-get
GtkWidget::selection-notify-event
GtkWidget::selection-received
GtkWidget::selection-request-event
The ::selection-request-event signal will be emitted when
another client requests ownership of the selection owned by
the widget
‘s window.
GtkWidget::show
The ::show signal is emitted when widget
is shown, for example with gtk_widget_show().
GtkWidget::show-help
GtkWidget::size-allocate
GtkWidget::state-changed
The ::state-changed signal is emitted when the widget state changes. See gtk_widget_get_state().
deprecated: 3.0
GtkWidget::state-flags-changed
The ::state-flags-changed signal is emitted when the widget state changes, see gtk_widget_get_state_flags().
since: 3.0
GtkWidget::style-set
The ::style-set signal is emitted when a new style has been set
on a widget. Note that style-modifying functions like
gtk_widget_modify_base()
also cause this signal to be emitted.
deprecated: 3.0
GtkWidget::style-updated
The ::style-updated signal is a convenience signal that is emitted when the
GtkStyleContext::changed
signal is emitted on the widget
‘s associated
GtkStyleContext
as returned by gtk_widget_get_style_context().
since: 3.0
GtkWidget::touch-event
GtkWidget::unmap
The ::unmap signal is emitted when widget
is going to be unmapped, which
means that either it or any of its parents up to the toplevel widget have
been set as hidden.
GtkWidget::unmap-event
The ::unmap-event signal will be emitted when the widget
‘s window is
unmapped. A window is unmapped when it becomes invisible on the screen.
GtkWidget::unrealize
The ::unrealize signal is emitted when the GdkWindow
associated with
widget
is destroyed, which means that gtk_widget_unrealize()
has been
called or the widget has been unmapped (that is, it is going to be hidden).
GtkWidget::visibility-notify-event
The ::visibility-notify-event will be emitted when the widget
‘s
window is obscured or unobscured.
deprecated: 3.12
GtkWidget::window-state-event
The ::window-state-event will be emitted when the state of the
toplevel window associated to the widget
changes.
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct GtkTreeViewClass {
GtkContainerClass parent_class;
void (* row_activated) (
GtkTreeView* tree_view,
GtkTreePath* path,
GtkTreeViewColumn* column
);
gboolean (* test_expand_row) (
GtkTreeView* tree_view,
GtkTreeIter* iter,
GtkTreePath* path
);
gboolean (* test_collapse_row) (
GtkTreeView* tree_view,
GtkTreeIter* iter,
GtkTreePath* path
);
void (* row_expanded) (
GtkTreeView* tree_view,
GtkTreeIter* iter,
GtkTreePath* path
);
void (* row_collapsed) (
GtkTreeView* tree_view,
GtkTreeIter* iter,
GtkTreePath* path
);
void (* columns_changed) (
GtkTreeView* tree_view
);
void (* cursor_changed) (
GtkTreeView* tree_view
);
gboolean (* move_cursor) (
GtkTreeView* tree_view,
GtkMovementStep step,
gint count
);
gboolean (* select_all) (
GtkTreeView* tree_view
);
gboolean (* unselect_all) (
GtkTreeView* tree_view
);
gboolean (* select_cursor_row) (
GtkTreeView* tree_view,
gboolean start_editing
);
gboolean (* toggle_cursor_row) (
GtkTreeView* tree_view
);
gboolean (* expand_collapse_cursor_row) (
GtkTreeView* tree_view,
gboolean logical,
gboolean expand,
gboolean open_all
);
gboolean (* select_cursor_parent) (
GtkTreeView* tree_view
);
gboolean (* start_interactive_search) (
GtkTreeView* tree_view
);
void (* _gtk_reserved1) (
void
);
void (* _gtk_reserved2) (
void
);
void (* _gtk_reserved3) (
void
);
void (* _gtk_reserved4) (
void
);
void (* _gtk_reserved5) (
void
);
void (* _gtk_reserved6) (
void
);
void (* _gtk_reserved7) (
void
);
void (* _gtk_reserved8) (
void
);
}
No description available.
Class members
parent_class: GtkContainerClass
No description available.
row_activated: void (* row_activated) ( GtkTreeView* tree_view, GtkTreePath* path, GtkTreeViewColumn* column )
No description available.
test_expand_row: gboolean (* test_expand_row) ( GtkTreeView* tree_view, GtkTreeIter* iter, GtkTreePath* path )
No description available.
test_collapse_row: gboolean (* test_collapse_row) ( GtkTreeView* tree_view, GtkTreeIter* iter, GtkTreePath* path )
No description available.
row_expanded: void (* row_expanded) ( GtkTreeView* tree_view, GtkTreeIter* iter, GtkTreePath* path )
No description available.
row_collapsed: void (* row_collapsed) ( GtkTreeView* tree_view, GtkTreeIter* iter, GtkTreePath* path )
No description available.
columns_changed: void (* columns_changed) ( GtkTreeView* tree_view )
No description available.
cursor_changed: void (* cursor_changed) ( GtkTreeView* tree_view )
No description available.
move_cursor: gboolean (* move_cursor) ( GtkTreeView* tree_view, GtkMovementStep step, gint count )
No description available.
select_all: gboolean (* select_all) ( GtkTreeView* tree_view )
No description available.
unselect_all: gboolean (* unselect_all) ( GtkTreeView* tree_view )
No description available.
select_cursor_row: gboolean (* select_cursor_row) ( GtkTreeView* tree_view, gboolean start_editing )
No description available.
toggle_cursor_row: gboolean (* toggle_cursor_row) ( GtkTreeView* tree_view )
No description available.
expand_collapse_cursor_row: gboolean (* expand_collapse_cursor_row) ( GtkTreeView* tree_view, gboolean logical, gboolean expand, gboolean open_all )
No description available.
select_cursor_parent: gboolean (* select_cursor_parent) ( GtkTreeView* tree_view )
No description available.
start_interactive_search: gboolean (* start_interactive_search) ( GtkTreeView* tree_view )
No description available.
_gtk_reserved1: void (* _gtk_reserved1) ( void )
No description available.
_gtk_reserved2: void (* _gtk_reserved2) ( void )
No description available.
_gtk_reserved3: void (* _gtk_reserved3) ( void )
No description available.
_gtk_reserved4: void (* _gtk_reserved4) ( void )
No description available.
_gtk_reserved5: void (* _gtk_reserved5) ( void )
No description available.
_gtk_reserved6: void (* _gtk_reserved6) ( void )
No description available.
_gtk_reserved7: void (* _gtk_reserved7) ( void )
No description available.
_gtk_reserved8: void (* _gtk_reserved8) ( void )
No description available.