Struct gtk4::TreeViewColumn [−][src]
pub struct TreeViewColumn(_);
Expand description
A visible column in a GtkTreeView widget
The GtkTreeViewColumn 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][TreeWidget]
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
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.
pub fn cell_get_position<P: IsA<CellRenderer>>(
&self,
cell_renderer: &P
) -> Option<(i32, i32)>
pub fn cell_get_position<P: IsA<CellRenderer>>(
&self,
cell_renderer: &P
) -> Option<(i32, i32)>
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
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
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
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 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
.
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
Returns the title of the widget.
Returns
the title of the column. This string should not be modified or freed.
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.
pub fn set_cell_data_func<P: IsA<CellRenderer>, Q: Fn(&TreeViewColumn, &CellRenderer, &TreeModel, &TreeIter) + 'static>(
&self,
cell_renderer: &P,
func: Q
)
pub fn set_cell_data_func<P: IsA<CellRenderer>, Q: Fn(&TreeViewColumn, &CellRenderer, &TreeModel, &TreeIter) + 'static>(
&self,
cell_renderer: &P,
func: Q
)
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
func
The GtkTreeCellDataFunc
to use.
func_data
The user data for func
.
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 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
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
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 TreeSortableExtManual::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 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
.
The CellArea
used to layout cell renderers for this column.
If no area is specified when creating the tree view column with with_area()
a horizontally oriented CellAreaBox
will be used.
Emitted when the column’s header has been clicked.
Trait Implementations
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
Returns the type identifier of Self
.
Auto Trait Implementations
impl RefUnwindSafe for TreeViewColumn
impl !Send for TreeViewColumn
impl !Sync for TreeViewColumn
impl Unpin for TreeViewColumn
impl UnwindSafe for TreeViewColumn
Blanket Implementations
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 true
if the object is an instance of (can be cast to) T
.
pub fn set_property<'a, N, V>(
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
N: Into<&'a str>,
V: ToValue,
pub fn set_property_from_value<'a, N>(
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>,
pub fn set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
pub fn has_property<'a, N>(&self, property_name: N, type_: Option<Type>) -> bool where
N: Into<&'a str>,
pub fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>,
Safety Read more
Safety Read more
Safety Read more
Safety Read more
pub fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
N: Into<&'a str>,
F: 'static + Fn(&[Value]) -> Option<Value> + Send + Sync,
Same as connect
but takes a SignalId
instead of a signal name.
pub fn connect_local<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
N: Into<&'a str>,
F: 'static + Fn(&[Value]) -> Option<Value>,
Same as connect_local
but takes a SignalId
instead of a signal name.
pub unsafe fn connect_unsafe<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
N: Into<&'a str>,
F: Fn(&[Value]) -> Option<Value>,
Same as connect_unsafe
but takes a SignalId
instead of a signal name.
Emit signal by signal id.
Same as emit
but takes Value
for the arguments.
Emit signal by its name.
Same as emit_by_name
but takes Value
for the arguments.
Emit signal with details by signal id.
Same as emit_with_details
but takes Value
for the arguments.
pub fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
pub fn connect_notify_local<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec),
pub unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
pub fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
N: Into<&'a str>,
M: Into<&'a str>,
Returns a SendValue
clone of self
.