Struct gtk4::TreeViewColumn

source ·
#[repr(transparent)]
pub struct TreeViewColumn { /* private fields */ }
Expand description

Use ColumnView and ColumnViewColumn instead of TreeView to show a tabular list A visible column in a TreeView widget

The TreeViewColumn object represents a visible column in a TreeView widget. It allows to set properties of the column header, and functions as a holding pen for the cell renderers which determine how the data in the column is displayed.

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, and to the TreeView documentation for specifics about the CSS node structure for treeviews and their headers.

Implements

glib::ObjectExt, BuildableExt, CellLayoutExt, CellLayoutExtManual

Implementations§

Creates a new TreeViewColumn.

Deprecated since 4.10

Use GtkColumnView instead

Returns

A newly created TreeViewColumn.

Creates a new TreeViewColumn using @area to render its cells.

Deprecated since 4.10

Use GtkColumnView instead

area

the CellArea that the newly created column should use to layout cells.

Returns

A newly created TreeViewColumn.

Creates a new builder-pattern struct instance to construct TreeViewColumn objects.

This method returns an instance of TreeViewColumnBuilder which can be used to create TreeViewColumn objects.

Adds an attribute mapping to the list in @self.

The @column is the column of the model to get a value from, and the @attribute is the parameter on @cell_renderer to be set from the value. So for example if column 2 of the model contains strings, you could have the “text” attribute of a CellRendererText get its values from column 2.

Deprecated since 4.10

Use GtkColumnView instead

cell_renderer

the CellRenderer to set attributes on

attribute

An attribute on the renderer

column

The column position on the model to get the attribute from.

Obtains the horizontal position and size of a cell in a column.

If the cell is not found in the column, @start_pos and @width are not changed and false is returned.

Deprecated since 4.10

Use GtkColumnView instead

cell_renderer

a CellRenderer

Returns

true if @cell belongs to @self

x_offset

return location for the horizontal position of @cell within @self

width

return location for the width of @cell

Obtains the width and height needed to render the column. This is used primarily by the TreeView.

Deprecated since 4.10

Use GtkColumnView instead

Returns
x_offset

location to return x offset of a cell relative to @cell_area

y_offset

location to return y offset of a cell relative to @cell_area

width

location to return width needed to render a cell

height

location to return height needed to render a cell

Returns true if any of the cells packed into the @self are visible. For this to be meaningful, you must first initialize the cells with gtk_tree_view_column_cell_set_cell_data()

Deprecated since 4.10

Use GtkColumnView instead

Returns

true, if any of the cells packed into the @self are currently visible

Sets the cell renderer based on the @tree_model and @iter. That is, for every attribute mapping in @self, it will get a value from the set column on the @iter, and use that value to set the attribute on the cell renderer. This is used primarily by the TreeView.

Deprecated since 4.10

Use GtkColumnView instead

tree_model

The TreeModel to get the cell renderers attributes from.

iter

The TreeIter to get the cell renderer’s attributes from.

is_expander

true, if the row has children

is_expanded

true, if the row has visible children

Unsets all the mappings on all renderers on the @self.

Deprecated since 4.10

Use GtkColumnView instead

Clears all existing attributes previously set with gtk_tree_view_column_set_attributes().

Deprecated since 4.10

Use GtkColumnView instead

cell_renderer

a CellRenderer to clear the attribute mapping on.

Emits the “clicked” signal on the column. This function will only work if @self is clickable.

Deprecated since 4.10

Use GtkColumnView instead

Sets the current keyboard focus to be at @cell, if the column contains 2 or more editable and activatable cells.

Deprecated since 4.10

Use GtkColumnView instead

cell

A CellRenderer

Returns the current x alignment of @self. This value can range between 0.0 and 1.0.

Deprecated since 4.10

Use GtkColumnView instead

Returns

The current alignent of @self.

Returns the button used in the treeview column header

Deprecated since 4.10

Use GtkColumnView instead

Returns

The button for the column header.

Returns true if the user can click on the header for the column.

Deprecated since 4.10

Use GtkColumnView instead

Returns

true if user can click the column header.

Returns true if the column expands to fill available space.

Deprecated since 4.10

Use GtkColumnView instead

Returns

true if the column expands to fill available space.

Gets the fixed width of the column. This may not be the actual displayed width of the column; for that, use gtk_tree_view_column_get_width().

Deprecated since 4.10

Use GtkColumnView instead

Returns

The fixed width of the column.

Returns the maximum width in pixels of the @self, or -1 if no maximum width is set.

Deprecated since 4.10

Use GtkColumnView instead

Returns

The maximum width of the @self.

Returns the minimum width in pixels of the @self, or -1 if no minimum width is set.

Deprecated since 4.10

Use GtkColumnView instead

Returns

The minimum width of the @self.

Returns true if the @self can be reordered by the user.

Deprecated since 4.10

Use GtkColumnView instead

Returns

true if the @self can be reordered by the user.

Returns true if the @self can be resized by the end user.

Deprecated since 4.10

Use GtkColumnView instead

Returns

true, if the @self can be resized.

Returns the current type of @self.

Deprecated since 4.10

Use GtkColumnView instead

Returns

The type of @self.

Gets the logical @sort_column_id that the model sorts on when this column is selected for sorting.

See set_sort_column_id().

Deprecated since 4.10

Use GtkColumnView instead

Returns

the current @sort_column_id for this column, or -1 if this column can’t be used for sorting

Gets the value set by gtk_tree_view_column_set_sort_indicator().

Deprecated since 4.10

Use GtkColumnView instead

Returns

whether the sort indicator arrow is displayed

Gets the value set by gtk_tree_view_column_set_sort_order().

Deprecated since 4.10

Use GtkColumnView instead

Returns

the sort order the sort indicator is indicating

Returns the spacing of @self.

Deprecated since 4.10

Use GtkColumnView instead

Returns

the spacing of @self.

Returns the title of the widget.

Deprecated since 4.10

Use GtkColumnView instead

Returns

the title of the column. This string should not be modified or freed.

Returns the TreeView wherein @self has been inserted. If @column is currently not inserted in any tree view, None is returned.

Deprecated since 4.10

Use GtkColumnView instead

Returns

The tree view wherein @column has been inserted

Returns true if @self is visible.

Deprecated since 4.10

Use GtkColumnView instead

Returns

whether the column is visible or not. If it is visible, then the tree will show the column.

Returns the Widget in the button on the column header.

If a custom widget has not been set then None is returned.

Deprecated since 4.10

Use GtkColumnView instead

Returns

The Widget in the column header

Returns the current size of @self in pixels.

Deprecated since 4.10

Use GtkColumnView instead

Returns

The current width of @self.

Returns the current X offset of @self in pixels.

Deprecated since 4.10

Use GtkColumnView instead

Returns

The current X offset of @self.

Adds the @cell to end of the column. If @expand is false, then the @cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which @expand is true.

Deprecated since 4.10

Use GtkColumnView instead

cell

The CellRenderer

expand

true if @cell is to be given extra space allocated to @self.

Packs the @cell into the beginning of the column. If @expand is false, then the @cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which @expand is true.

Deprecated since 4.10

Use GtkColumnView instead

cell

The CellRenderer

expand

true if @cell is to be given extra space allocated to @self.

Flags the column, and the cell renderers added to this column, to have their sizes renegotiated.

Deprecated since 4.10

Use GtkColumnView instead

Sets the alignment of the title or custom widget inside the column header. The alignment determines its location inside the button – 0.0 for left, 0.5 for center, 1.0 for right.

Deprecated since 4.10

Use GtkColumnView instead

xalign

The alignment, which is between [0.0 and 1.0] inclusive.

Sets the GtkTreeCellDataFunc to use for the column.

This function is used instead of the standard attributes mapping for setting the column value, and should set the value of @self’s cell renderer as appropriate. @func may be None to remove an older one.

Deprecated since 4.10

Use GtkColumnView instead

cell_renderer

A CellRenderer

func

The GtkTreeCellDataFunc to use.

func_data

The user data for @func.

Sets the header to be active if @clickable is true. When the header is active, then it can take keyboard focus, and can be clicked.

Deprecated since 4.10

Use GtkColumnView instead

clickable

true if the header is active.

Sets the column to take available extra space. This space is shared equally amongst all columns that have the expand set to true. If no column has this option set, then the last column gets all extra space. By default, every column is created with this false.

Along with “fixed-width”, the “expand” property changes when the column is resized by the user.

Deprecated since 4.10

Use GtkColumnView instead

expand

true if the column should expand to fill available space.

If @fixed_width is not -1, sets the fixed width of @self; otherwise unsets it. The effective value of @fixed_width is clamped between the minimum and maximum width of the column; however, the value stored in the “fixed-width” property is not clamped. If the column sizing is TreeViewColumnSizing::GrowOnly or TreeViewColumnSizing::Autosize, setting a fixed width overrides the automatically calculated width. Note that @fixed_width is only a hint to GTK; the width actually allocated to the column may be greater or less than requested.

Along with “expand”, the “fixed-width” property changes when the column is resized by the user.

Deprecated since 4.10

Use GtkColumnView instead

fixed_width

The new fixed width, in pixels, or -1.

Sets the maximum width of the @self. If @max_width is -1, then the maximum width is unset. Note, the column can actually be wider than max width if it’s the last column in a view. In this case, the column expands to fill any extra space.

Deprecated since 4.10

Use GtkColumnView instead

max_width

The maximum width of the column in pixels, or -1.

Sets the minimum width of the @self. If @min_width is -1, then the minimum width is unset.

Deprecated since 4.10

Use GtkColumnView instead

min_width

The minimum width of the column in pixels, or -1.

If @reorderable is true, then the column can be reordered by the end user dragging the header.

Deprecated since 4.10

Use GtkColumnView instead

reorderable

true, if the column can be reordered.

If @resizable is true, then the user can explicitly resize the column by grabbing the outer edge of the column button.

If resizable is true and sizing mode of the column is TreeViewColumnSizing::Autosize, then the sizing mode is changed to TreeViewColumnSizing::GrowOnly.

Deprecated since 4.10

Use GtkColumnView instead

resizable

true, if the column can be resized

Sets the growth behavior of @self to @type_.

Deprecated since 4.10

Use GtkColumnView instead

type_

The TreeViewColumnSizing.

Sets the logical @sort_column_id that this column sorts on when this column is selected for sorting. Doing so makes the column header clickable.

Deprecated since 4.10

Use GtkColumnView instead

sort_column_id

The @sort_column_id of the model to sort on.

Call this function with a @setting of true to display an arrow in the header button indicating the column is sorted. Call gtk_tree_view_column_set_sort_order() to change the direction of the arrow.

Deprecated since 4.10

Use GtkColumnView instead

setting

true to display an indicator that the column is sorted

Changes the appearance of the sort indicator.

This does not actually sort the model. Use gtk_tree_view_column_set_sort_column_id() if you want automatic sorting support. This function is primarily for custom sorting behavior, and should be used in conjunction with gtk_tree_sortable_set_sort_column_id() to do that. For custom models, the mechanism will vary.

The sort indicator changes direction to indicate normal sort or reverse sort. Note that you must have the sort indicator enabled to see anything when calling this function; see gtk_tree_view_column_set_sort_indicator().

Deprecated since 4.10

Use GtkColumnView instead

order

sort order that the sort indicator should indicate

Sets the spacing field of @self, which is the number of pixels to place between cell renderers packed into it.

Deprecated since 4.10

Use GtkColumnView instead

spacing

distance between cell renderers in pixels.

Sets the title of the @self. If a custom widget has been set, then this value is ignored.

Deprecated since 4.10

Use GtkColumnView instead

title

The title of the @self.

Sets the visibility of @self.

Deprecated since 4.10

Use GtkColumnView instead

visible

true if the @self is visible.

Sets the widget in the header to be @widget. If widget is None, then the header button is set with a Label set to the title of @self.

Deprecated since 4.10

Use GtkColumnView instead

widget

A child Widget

The CellArea used to layout cell renderers for this column.

If no area is specified when creating the tree view column with gtk_tree_view_column_new_with_area() a horizontally oriented CellAreaBox will be used.

Emitted when the column’s header has been clicked.

Creates a new TreeViewColumn with a number of default values. This is equivalent to calling gtk_tree_view_column_set_title(), gtk_tree_view_column_pack_start(), and gtk_tree_view_column_set_attributes() on the newly created TreeViewColumn.

Here’s a simple example:

⚠️ The following code is in C ⚠️

 enum { TEXT_COLUMN, COLOR_COLUMN, N_COLUMNS };
 // ...
 {
   GtkTreeViewColumn *column;
   GtkCellRenderer   *renderer = gtk_cell_renderer_text_new ();

   column = gtk_tree_view_column_new_with_attributes ("Title",
                                                      renderer,
                                                      "text", TEXT_COLUMN,
                                                      "foreground", COLOR_COLUMN,
                                                      NULL);
 }
Deprecated since 4.10

Use GtkColumnView instead

title

The title to set the header to

cell

The CellRenderer

Returns

A newly created TreeViewColumn.

Sets the attributes in the list as the attributes of @self.

The attributes should be in attribute/column order, as in gtk_tree_view_column_add_attribute(). All existing attributes are removed, and replaced with the new attributes.

Deprecated since 4.10

Use GtkColumnView instead

cell_renderer

the CellRenderer we’re setting the attributes of

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Formats the value using the given formatter. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Returns the type identifier of Self.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Upcasts an object to a superclass or interface T. Read more
Upcasts an object to a reference of its superclass or interface T. Read more
Tries to downcast to a subclass or interface implementor T. Read more
Tries to downcast to a reference of its subclass or interface implementor T. Read more
Tries to cast to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more
Tries to cast to reference to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more
Casts to T unconditionally. Read more
Casts to &T unconditionally. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Returns true if the object is an instance of (can be cast to) T.
Returns the type of the object.
Returns the ObjectClass of the object. Read more
Returns the class of the object.
Returns the class of the object in the given type T. Read more
Returns the interface T of the object. Read more
Sets the property property_name of the object to value value. Read more
Sets the property property_name of the object to value value. Read more
Sets multiple properties of the object at once. Read more
Sets multiple properties of the object at once. Read more
Gets the property property_name of the object and cast it to the type V. Read more
Gets the property property_name of the object. Read more
Check if the object has a property property_name of the given type_. Read more
Get the type of the property property_name of this object. Read more
Get the ParamSpec of the property property_name of this object.
Return all ParamSpec of the properties of this object.
Freeze all property notifications until the return guard object is dropped. Read more
Set arbitrary data on this object with the given key. Read more
Return previously set arbitrary data of this object with the given key. Read more
Retrieve previously set arbitrary data of this object with the given key. Read more
Set arbitrary data on this object with the given key. Read more
Return previously set arbitrary data of this object with the given key. Read more
Retrieve previously set arbitrary data of this object with the given key. Read more
Block a given signal handler. Read more
Unblock a given signal handler.
Stop emission of the currently emitted signal.
Stop emission of the currently emitted signal by the (possibly detailed) signal name.
Connect to the signal signal_name on this object. Read more
Connect to the signal signal_id on this object. Read more
Connect to the signal signal_name on this object. Read more
Connect to the signal signal_id on this object. Read more
Connect to the signal signal_name on this object. Read more
Connect to the signal signal_id on this object. Read more
Connect a closure to the signal signal_name on this object. Read more
Connect a closure to the signal signal_id on this object. Read more
Limits the lifetime of closure to the lifetime of the object. When the object’s reference count drops to zero, the closure will be invalidated. An invalidated closure will ignore any calls to invoke_with_values, or invoke when using Rust closures.
Emit signal by signal id. Read more
Same as Self::emit but takes Value for the arguments.
Emit signal by its name. Read more
Emit signal by its name. Read more
Emit signal by its name with details. Read more
Emit signal by its name with details. Read more
Emit signal by signal id with details. Read more
Emit signal by signal id with details. Read more
Disconnect a previously connected signal handler.
Connect to the notify signal of the object. Read more
Connect to the notify signal of the object. Read more
Connect to the notify signal of the object. Read more
Notify that the given property has changed its value. Read more
Notify that the given property has changed its value. Read more
Downgrade this object to a weak reference.
Add a callback to be notified when the Object is disposed.
Add a callback to be notified when the Object is disposed. Read more
Bind property source_property on this object to the target_property on the target object. Read more
Returns the strong reference count of this object.
Runs the dispose mechanism of the object. Read more
Ensures that the type has been registered with the type system.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.