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

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.

Returns

A newly created TreeViewColumn.

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

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.

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.

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.

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()

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.

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

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

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

cell

A CellRenderer

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

Returns

The current alignent of @self.

Returns the button used in the treeview column header

Returns

The button for the column header.

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

Returns

true if user can click the column header.

Returns true if the column expands to fill available space.

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().

Returns

The fixed width of the column.

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

Returns

The maximum width of the @self.

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

Returns

The minimum width of the @self.

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

Returns

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

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

Returns

true, if the @self can be resized.

Returns the current type of @self.

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().

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().

Returns

whether the sort indicator arrow is displayed

Gets the value set by gtk_tree_view_column_set_sort_order().

Returns

the sort order the sort indicator is indicating

Returns the spacing of @self.

Returns

the spacing of @self.

Returns the title of the widget.

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.

Returns

The tree view wherein @column has been inserted

Returns true if @self is visible.

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.

Returns

The Widget in the column header

Returns the current size of @self in pixels.

Returns

The current width of @self.

Returns the current X offset of @self in pixels.

Returns

The current X offset of @self.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

resizable

true, if the column can be resized

Sets the growth behavior of @self to @type_.

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.

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.

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().

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.

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.

title

The title of the @self.

Sets the visibility of @self.

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.

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);
 }
title

The title to set the header to

cell

The CellRenderer

Returns

A newly created TreeViewColumn.

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 ==. Read more

This method tests for !=.

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

Similar to Self::set_property but fails instead of panicking.

Sets the property property_name of the object to value value. Read more

Similar to Self::set_property but fails instead of panicking.

Sets the property property_name of the object to value value. Read more

Similar to Self::set_properties but fails instead of panicking.

Sets multiple properties of the object at once. Read more

Similar to Self::set_properties_from_value but fails instead of panicking.

Sets multiple properties of the object at once. Read more

Similar to Self::property but fails instead of panicking.

Gets the property property_name of the object and cast it to the type V. Read more

Similar to Self::property_value but fails instead of panicking.

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.

Similar to Self::connect but fails instead of panicking.

Connect to the signal signal_name on this object. Read more

Similar to Self::connect_id but fails instead of panicking.

Connect to the signal signal_id on this object. Read more

Similar to Self::connect_local but fails instead of panicking.

Connect to the signal signal_name on this object. Read more

Similar to Self::connect_local_id but fails instead of panicking.

Connect to the signal signal_id on this object. Read more

Similar to Self::connect_unsafe but fails instead of panicking.

Connect to the signal signal_name on this object. Read more

Similar to Self::connect_unsafe_id but fails instead of panicking.

Similar to Self::connect_closure but fails instead of panicking.

Connect a closure to the signal signal_name on this object. Read more

Similar to Self::connect_closure_id but fails instead of panicking.

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. Read more

Connect to the signal signal_id on this object. Read more

Similar to Self::emit but fails instead of panicking.

Emit signal by signal id. Read more

Similar to Self::emit_with_values but fails instead of panicking.

Same as Self::emit but takes Value for the arguments.

Similar to Self::emit_by_name but fails instead of panicking.

Emit signal by its name. Read more

Similar to Self::emit_by_name_with_values but fails instead of panicking.

Emit signal by its name. Read more

Similar to Self::emit_by_name_with_details but fails instead of panicking.

Emit signal by its name with details. Read more

Similar to Self::emit_by_name_with_details_and_values but fails instead of panicking.

Emit signal by its name with details. Read more

Similar to Self::emit_with_details but fails instead of panicking.

Emit signal by signal id with details. Read more

Similar to Self::emit_with_details_and_values but fails instead of panicking.

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.

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.