pub struct ListStore { /* private fields */ }Since 4.10
Expand description
Use Gio::ListStore instead
A list-like data structure that can be used with the TreeView.
The ListStore object is a list model for use with a TreeView
widget. It implements the TreeModel interface, and consequentialy,
can use all of the methods available there. It also implements the
TreeSortable interface so it can be sorted by the view.
Finally, it also implements the tree
drag and drop
interfaces.
The ListStore can accept most GTypes as a column type, though
it canโt accept all custom types. Internally, it will keep a copy of
data passed in (such as a string or a boxed pointer). Columns that
accept GObjects are handled a little differently. The
ListStore will keep a reference to the object instead of copying the
value. As a result, if the object is modified, it is up to the
application writer to call TreeModelExt::row_changed() to emit the
row_changed signal. This most commonly affects lists
with gdk::Textures stored.
An example for creating a simple list store:
โ ๏ธ The following code is in c โ ๏ธ
enum {
COLUMN_STRING,
COLUMN_INT,
COLUMN_BOOLEAN,
N_COLUMNS
};
{
GtkListStore *list_store;
GtkTreePath *path;
GtkTreeIter iter;
int i;
list_store = gtk_list_store_new (N_COLUMNS,
G_TYPE_STRING,
G_TYPE_INT,
G_TYPE_BOOLEAN);
for (i = 0; i < 10; i++)
{
char *some_data;
some_data = get_some_data (i);
// Add a new row to the model
gtk_list_store_append (list_store, &iter);
gtk_list_store_set (list_store, &iter,
COLUMN_STRING, some_data,
COLUMN_INT, i,
COLUMN_BOOLEAN, FALSE,
-1);
// As the store will keep a copy of the string internally,
// we free some_data.
g_free (some_data);
}
// Modify a particular row
path = gtk_tree_path_new_from_string ("4");
gtk_tree_model_get_iter (GTK_TREE_MODEL (list_store),
&iter,
path);
gtk_tree_path_free (path);
gtk_list_store_set (list_store, &iter,
COLUMN_BOOLEAN, TRUE,
-1);
}ListStore is deprecated since GTK 4.10, and should not be used in newly
written code. You should use Gio::ListStore instead, and the various
list models provided by GTK.
ยงPerformance Considerations
Internally, the ListStore was originally implemented with a linked list
with a tail pointer. As a result, it was fast at data insertion and deletion,
and not fast at random data access. The ListStore sets the
GTK_TREE_MODEL_ITERS_PERSIST flag, which means that TreeIters can be
cached while the row exists. Thus, if access to a particular row is needed
often and your code is expected to run on older versions of GTK, it is worth
keeping the iter around.
ยงAtomic Operations
It is important to note that only the methods
gtk_list_store_insert_with_values() and gtk_list_store_insert_with_valuesv()
are atomic, in the sense that the row is being appended to the store and the
values filled in in a single operation with regard to TreeModel signaling.
In contrast, using e.g. gtk_list_store_append() and then gtk_list_store_set()
will first create a row, which triggers the GtkTreeModel::row-inserted signal
on ListStore. The row, however, is still empty, and any signal handler
connecting to GtkTreeModel::row-inserted on this particular store should be prepared
for the situation that the row might be empty. This is especially important
if you are wrapping the ListStore inside a TreeModelFilter and are
using a TreeModelFilterVisibleFunc. Using any of the non-atomic operations
to append rows to the ListStore will cause the
TreeModelFilterVisibleFunc to be visited with an empty row first; the
function must be prepared for that.
ยงGtkListStore as GtkBuildable
The GtkListStore implementation of the Buildable interface allows
to specify the model columns with a <columns> element that may contain
multiple <column> elements, each specifying one model column. The โtypeโ
attribute specifies the data type for the column.
Additionally, it is possible to specify content for the list store
in the UI definition, with the <data> element. It can contain multiple
<row> elements, each specifying to content for one row of the list model.
Inside a <row>, the <col> elements specify the content for individual cells.
Note that it is probably more common to define your models in the code, and one might consider it a layering violation to specify the content of a list store in a UI definition, data, not presentation, and common wisdom is to separate the two, as far as possible.
An example of a UI Definition fragment for a list store:
<object class="GtkListStore">
<columns>
<column type="gchararray"/>
<column type="gchararray"/>
<column type="gint"/>
</columns>
<data>
<row>
<col id="0">John</col>
<col id="1">Doe</col>
<col id="2">25</col>
</row>
<row>
<col id="0">Johan</col>
<col id="1">Dahlin</col>
<col id="2">50</col>
</row>
</data>
</object>ยงImplements
[trait@glib::ObjectExt], BuildableExt, TreeDragDestExt, TreeDragSourceExt, TreeModelExt, TreeSortableExt, TreeModelExtManual, TreeSortableExtManual
GLib type: GObject with reference counted clone semantics.
Implementationsยง
Sourceยงimpl ListStore
impl ListStore
Sourcepub fn append(&self) -> TreeIter
๐Deprecated: Since 4.10
pub fn append(&self) -> TreeIter
Since 4.10
Appends a new row to @self. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
ยงDeprecated since 4.10
Use list models
ยงReturns
ยงiter
An unset TreeIter to set to the appended row
Sourcepub fn insert(&self, position: i32) -> TreeIter
๐Deprecated: Since 4.10
pub fn insert(&self, position: i32) -> TreeIter
Since 4.10
Creates a new row at @position. @iter will be changed to point to this new row. If @position is -1 or is larger than the number of rows on the list, then the new row will be appended to the list. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
ยงDeprecated since 4.10
Use list models
ยงposition
position to insert the new row, or -1 for last
ยงReturns
ยงiter
An unset TreeIter to set to the new row
Sourcepub fn insert_after(&self, sibling: Option<&TreeIter>) -> TreeIter
๐Deprecated: Since 4.10
pub fn insert_after(&self, sibling: Option<&TreeIter>) -> TreeIter
Since 4.10
Inserts a new row after @sibling. If @sibling is None, then the row will be
prepended to the beginning of the list. @iter will be changed to point to
this new row. The row will be empty after this function is called. To fill
in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
ยงDeprecated since 4.10
Use list models
ยงsibling
A valid TreeIter
ยงReturns
ยงiter
An unset TreeIter to set to the new row
Sourcepub fn insert_before(&self, sibling: Option<&TreeIter>) -> TreeIter
๐Deprecated: Since 4.10
pub fn insert_before(&self, sibling: Option<&TreeIter>) -> TreeIter
Since 4.10
Inserts a new row before @sibling. If @sibling is None, then the row will
be appended to the end of the list. @iter will be changed to point to this
new row. The row will be empty after this function is called. To fill in
values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
ยงDeprecated since 4.10
Use list models
ยงsibling
A valid TreeIter
ยงReturns
ยงiter
An unset TreeIter to set to the new row
Sourcepub fn iter_is_valid(&self, iter: &TreeIter) -> bool
๐Deprecated: Since 4.10
pub fn iter_is_valid(&self, iter: &TreeIter) -> bool
Since 4.10
Sourcepub fn move_after(&self, iter: &TreeIter, position: Option<&TreeIter>)
๐Deprecated: Since 4.10
pub fn move_after(&self, iter: &TreeIter, position: Option<&TreeIter>)
Since 4.10
Sourcepub fn move_before(&self, iter: &TreeIter, position: Option<&TreeIter>)
๐Deprecated: Since 4.10
pub fn move_before(&self, iter: &TreeIter, position: Option<&TreeIter>)
Since 4.10
Sourcepub fn prepend(&self) -> TreeIter
๐Deprecated: Since 4.10
pub fn prepend(&self) -> TreeIter
Since 4.10
Prepends a new row to @self. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value().
ยงDeprecated since 4.10
Use list models
ยงReturns
ยงiter
An unset TreeIter to set to the prepend row
Sourceยงimpl ListStore
impl ListStore
Sourcepub fn new(column_types: &[Type]) -> Self
๐Deprecated: Since 4.10
pub fn new(column_types: &[Type]) -> Self
Since 4.10
Creates a new list store.
The list store will have @n_columns columns, with each column using the given type passed to this function.
Note that only types derived from standard GObject fundamental types are supported.
As an example:
โ ๏ธ The following code is in c โ ๏ธ
gtk_list_store_new (3, G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_TEXTURE);will create a new ListStore with three columns, of type int,
gchararray and gdk::Texture, respectively.
ยงDeprecated since 4.10
Use Gio::ListStore instead
ยงReturns
a new ListStore
Sourcepub fn insert_with_values(
&self,
position: Option<u32>,
columns_and_values: &[(u32, &dyn ToValue)],
) -> TreeIter
๐Deprecated: Since 4.10
pub fn insert_with_values( &self, position: Option<u32>, columns_and_values: &[(u32, &dyn ToValue)], ) -> TreeIter
Since 4.10
A variant of gtk_list_store_insert_with_values() which takes the columns and values as two arrays, instead of varargs.
This function is mainly intended for language-bindings.
ยงDeprecated since 4.10
Use list models
ยงposition
position to insert the new row, or -1 for last
ยงcolumns
an array of column numbers
ยงvalues
an array of GValues
ยงReturns
ยงiter
An unset TreeIter to set to the new row
Sourcepub fn reorder(&self, new_order: &[u32])
๐Deprecated: Since 4.10
pub fn reorder(&self, new_order: &[u32])
Since 4.10
Reorders @self to follow the order indicated by @new_order. Note that this function only works with unsorted stores.
ยงDeprecated since 4.10
Use list models
ยงnew_order
an array of integers mapping the new
position of each child to its old position before the re-ordering,
i.e. @new_order[newpos] = oldpos. It must have
exactly as many items as the list storeโs length.
Sourcepub fn set(&self, iter: &TreeIter, columns_and_values: &[(u32, &dyn ToValue)])
๐Deprecated: Since 4.10
pub fn set(&self, iter: &TreeIter, columns_and_values: &[(u32, &dyn ToValue)])
Since 4.10
Sets the value of one or more cells in the row referenced by @iter.
The variable argument list should contain integer column numbers,
each column number followed by the value to be set.
The list is terminated by a -1. For example, to set column 0 with type
G_TYPE_STRING to โFooโ, you would write gtk_list_store_set (store, iter, 0, "Foo", -1).
The value will be referenced by the store if it is a G_TYPE_OBJECT, and it
will be copied if it is a G_TYPE_STRING or G_TYPE_BOXED.
ยงDeprecated since 4.10
Use list models
ยงiter
row iterator
Sourcepub fn set_column_types(&self, types: &[Type])
๐Deprecated: Since 4.10
pub fn set_column_types(&self, types: &[Type])
Since 4.10
Sets the types of the columns of a list store.
This function is meant primarily for objects that inherit
from ListStore, and should only be used when constructing
a new instance.
This function cannot be called after a row has been added, or
a method on the TreeModel interface is called.
ยงDeprecated since 4.10
Use list models
ยงtypes
An array length n of GTypes
Trait Implementationsยง
impl Eq for ListStore
impl IsA<Buildable> for ListStore
impl IsA<TreeDragDest> for ListStore
impl IsA<TreeDragSource> for ListStore
impl IsA<TreeModel> for ListStore
impl IsA<TreeSortable> for ListStore
Sourceยงimpl Ord for ListStore
impl Ord for ListStore
Sourceยงfn cmp(&self, other: &Self) -> Ordering
fn cmp(&self, other: &Self) -> Ordering
Comparison for two GObjects.
Compares the memory addresses of the provided objects.
1.21.0 (const: unstable) ยท Sourceยงfn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Sourceยงimpl<OT: ObjectType> PartialEq<OT> for ListStore
impl<OT: ObjectType> PartialEq<OT> for ListStore
Sourceยงimpl<OT: ObjectType> PartialOrd<OT> for ListStore
impl<OT: ObjectType> PartialOrd<OT> for ListStore
Sourceยงfn partial_cmp(&self, other: &OT) -> Option<Ordering>
fn partial_cmp(&self, other: &OT) -> Option<Ordering>
Partial comparison for two GObjects.
Compares the memory addresses of the provided objects.
Auto Trait Implementationsยง
impl !Send for ListStore
impl !Sync for ListStore
impl Freeze for ListStore
impl RefUnwindSafe for ListStore
impl Unpin for ListStore
impl UnsafeUnpin for ListStore
impl UnwindSafe for ListStore
Blanket Implementationsยง
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Sourceยงimpl<O> BuildableExt for Owhere
O: IsA<Buildable>,
impl<O> BuildableExt for Owhere
O: IsA<Buildable>,
Sourceยงfn buildable_id(&self) -> Option<GString>
fn buildable_id(&self) -> Option<GString>
ยงimpl<T> Cast for Twhere
T: ObjectType,
impl<T> Cast for Twhere
T: ObjectType,
ยงfn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
T. Read moreยงfn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
T. Read moreยงfn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: MayDowncastTo<T>,
fn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: MayDowncastTo<T>,
T. Read moreยงfn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<T>,
fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<T>,
T. Read moreยงfn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
fn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
T. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while upcast will do many checks at compile-time already. downcast will
perform the same checks at runtime as dynamic_cast, but will also ensure some amount of
compile-time safety. Read moreยงfn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
fn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
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ยงunsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
T unconditionally. Read moreยงunsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
&T unconditionally. Read moreSourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *const GList, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec(_: *const GList, _: usize) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(_: *const GList, _: usize) -> Vec<T>
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *const GPtrArray, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec( _: *const GPtrArray, _: usize, ) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(_: *const GPtrArray, _: usize) -> Vec<T>
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *const GSList, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec(_: *const GSList, _: usize) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(_: *const GSList, _: usize) -> Vec<T>
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec( ptr: *mut GPtrArray, num: usize, ) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T>
impl<'a, T, C, E> FromValueOptional<'a> for T
Sourceยงimpl<O> GObjectPropertyExpressionExt for Owhere
O: IsA<Object>,
impl<O> GObjectPropertyExpressionExt for Owhere
O: IsA<Object>,
Sourceยงfn property_expression(&self, property_name: &str) -> PropertyExpression
fn property_expression(&self, property_name: &str) -> PropertyExpression
Sourceยงfn property_expression_weak(&self, property_name: &str) -> PropertyExpression
fn property_expression_weak(&self, property_name: &str) -> PropertyExpression
Sourceยงfn this_expression(property_name: &str) -> PropertyExpression
fn this_expression(property_name: &str) -> PropertyExpression
this object.ยงimpl<T> IntoClosureReturnValue for Twhere
T: Into<Value>,
impl<T> IntoClosureReturnValue for Twhere
T: Into<Value>,
fn into_closure_return_value(self) -> Option<Value>
ยงimpl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
impl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
fn parent_class_init<T>(class: &mut Class<U>)where
T: ObjectSubclass,
<U as ParentClassIs>::Parent: IsSubclassable<T>,
fn parent_instance_init<T>(instance: &mut InitializingObject<T>)where
T: ObjectSubclass,
<U as ParentClassIs>::Parent: IsSubclassable<T>,
impl<Super, Sub> MayDowncastTo<Sub> for Superwhere
Super: IsA<Super>,
Sub: IsA<Super>,
ยงimpl<T> ObjectExt for Twhere
T: ObjectType,
impl<T> ObjectExt for Twhere
T: ObjectType,
ยงfn is<U>(&self) -> boolwhere
U: StaticType,
fn is<U>(&self) -> boolwhere
U: StaticType,
true if the object is an instance of (can be cast to) T.ยงfn object_class(&self) -> &Class<Object>
fn object_class(&self) -> &Class<Object>
ObjectClass] of the object. Read moreยงfn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
T. Read moreยงfn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
T of the object. Read moreยงfn set_property(&self, property_name: &str, value: impl Into<Value>)
fn set_property(&self, property_name: &str, value: impl Into<Value>)
ยงfn set_property_from_value(&self, property_name: &str, value: &Value)
fn set_property_from_value(&self, property_name: &str, value: &Value)
ยงfn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
ยงfn set_properties_from_value(&self, property_values: &[(&str, Value)])
fn set_properties_from_value(&self, property_values: &[(&str, Value)])
ยงfn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
fn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
property_name of the object and cast it to the type V. Read moreยงfn property_value(&self, property_name: &str) -> Value
fn property_value(&self, property_name: &str) -> Value
property_name of the object. Read moreยงfn has_property(&self, property_name: &str) -> bool
fn has_property(&self, property_name: &str) -> bool
property_name.ยงfn has_property_with_type(&self, property_name: &str, type_: Type) -> bool
fn has_property_with_type(&self, property_name: &str, type_: Type) -> bool
property_name of the given type_.ยงfn property_type(&self, property_name: &str) -> Option<Type>
fn property_type(&self, property_name: &str) -> Option<Type>
property_name of this object. Read moreยงfn find_property(&self, property_name: &str) -> Option<ParamSpec>
fn find_property(&self, property_name: &str) -> Option<ParamSpec>
ParamSpec of the property property_name of this object.ยงfn list_properties(&self) -> PtrSlice<ParamSpec>
fn list_properties(&self) -> PtrSlice<ParamSpec>
ParamSpec of the properties of this object.ยงfn freeze_notify(&self) -> PropertyNotificationFreezeGuard
fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
ยงunsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
key. Read moreยงunsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
key. Read moreยงunsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
key. Read moreยงunsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
unsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
key. Read moreยงunsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
key. Read moreยงunsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
key. Read moreยงfn block_signal(&self, handler_id: &SignalHandlerId)
fn block_signal(&self, handler_id: &SignalHandlerId)
ยงfn unblock_signal(&self, handler_id: &SignalHandlerId)
fn unblock_signal(&self, handler_id: &SignalHandlerId)
ยงfn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
ยงfn stop_signal_emission_by_name(&self, signal_name: &str)
fn stop_signal_emission_by_name(&self, signal_name: &str)
ยงfn connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
signal_name on this object. Read moreยงfn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
signal_id on this object. Read moreยงfn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
signal_name on this object. Read moreยงfn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
signal_id on this object. Read moreยงunsafe fn connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F,
) -> SignalHandlerId
unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
signal_name on this object. Read moreยงunsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F,
) -> SignalHandlerId
unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
signal_id on this object. Read moreยงfn connect_closure(
&self,
signal_name: &str,
after: bool,
closure: RustClosure,
) -> SignalHandlerId
fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure, ) -> SignalHandlerId
signal_name on this object. Read moreยงfn connect_closure_id(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
closure: RustClosure,
) -> SignalHandlerId
fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure, ) -> SignalHandlerId
signal_id on this object. Read moreยงfn watch_closure(&self, closure: &impl AsRef<Closure>)
fn watch_closure(&self, closure: &impl AsRef<Closure>)
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.ยงfn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
ยงfn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
Self::emit] but takes Value for the arguments.ยงfn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
ยงfn emit_by_name_with_values(
&self,
signal_name: &str,
args: &[Value],
) -> Option<Value>
fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value], ) -> Option<Value>
ยงfn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
ยงfn emit_by_name_with_details_and_values(
&self,
signal_name: &str,
details: Quark,
args: &[Value],
) -> Option<Value>
fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value], ) -> Option<Value>
ยงfn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
ยงfn emit_with_details_and_values(
&self,
signal_id: SignalId,
details: Quark,
args: &[Value],
) -> Option<Value>
fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value], ) -> Option<Value>
ยงfn disconnect(&self, handler_id: SignalHandlerId)
fn disconnect(&self, handler_id: SignalHandlerId)
ยงfn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify signal of the object. Read moreยงfn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify signal of the object. Read moreยงunsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F,
) -> SignalHandlerId
unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F, ) -> SignalHandlerId
notify signal of the object. Read moreยงfn notify(&self, property_name: &str)
fn notify(&self, property_name: &str)
ยงfn notify_by_pspec(&self, pspec: &ParamSpec)
fn notify_by_pspec(&self, pspec: &ParamSpec)
ยงfn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>
fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>
ยงfn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>where
F: FnOnce() + 'static,
fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>where
F: FnOnce() + 'static,
ยงfn bind_property<'a, 'f, 't, O>(
&'a self,
source_property: &'a str,
target: &'a O,
target_property: &'a str,
) -> BindingBuilder<'a, 'f, 't>where
O: ObjectType,
fn bind_property<'a, 'f, 't, O>(
&'a self,
source_property: &'a str,
target: &'a O,
target_property: &'a str,
) -> BindingBuilder<'a, 'f, 't>where
O: ObjectType,
ยงunsafe fn run_dispose(&self)
unsafe fn run_dispose(&self)
ยงimpl<T> PropertyGet for Twhere
T: HasParamSpec,
impl<T> PropertyGet for Twhere
T: HasParamSpec,
ยงimpl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere
T: StaticType,
ยงfn ensure_type()
fn ensure_type()
ยงimpl<T> TransparentType for Twhere
T: TransparentPtrType,
impl<T> TransparentType for Twhere
T: TransparentPtrType,
Sourceยงimpl<O> TreeDragDestExt for Owhere
O: IsA<TreeDragDest>,
impl<O> TreeDragDestExt for Owhere
O: IsA<TreeDragDest>,
Sourceยงfn drag_data_received(&self, dest: &TreePath, value: &Value) -> bool
fn drag_data_received(&self, dest: &TreePath, value: &Value) -> bool
Since 4.10
TreeDragDest to insert a row before the path @dest,
deriving the contents of the row from @value. If @dest is
outside the tree so that inserting before it is impossible, false
will be returned. Also, false may be returned if the new row is
not created for some model-specific reason. Should robustly handle
a @dest no longer found in the model! Read moreSourceยงfn row_drop_possible(&self, dest_path: &TreePath, value: &Value) -> bool
fn row_drop_possible(&self, dest_path: &TreePath, value: &Value) -> bool
Since 4.10
false if the
parent of @dest_path doesnโt exist, though. Read moreSourceยงimpl<O> TreeDragSourceExt for Owhere
O: IsA<TreeDragSource>,
impl<O> TreeDragSourceExt for Owhere
O: IsA<TreeDragSource>,
Sourceยงfn drag_data_delete(&self, path: &TreePath) -> bool
fn drag_data_delete(&self, path: &TreePath) -> bool
Since 4.10
TreeDragSource to delete the row at @path, because
it was moved somewhere else via drag-and-drop. Returns false
if the deletion fails because @path no longer exists, or for
some model-specific reason. Should robustly handle a @path no
longer found in the model! Read moreSourceยงfn drag_data_get(&self, path: &TreePath) -> Option<ContentProvider>
fn drag_data_get(&self, path: &TreePath) -> Option<ContentProvider>
Since 4.10
TreeDragSource to return a gdk::ContentProvider representing
the row at @path. Should robustly handle a @path no
longer found in the model! Read moreSourceยงfn row_draggable(&self, path: &TreePath) -> bool
fn row_draggable(&self, path: &TreePath) -> bool
Since 4.10
TreeDragSource whether a particular row can be used as
the source of a DND operation. If the source doesnโt implement
this interface, the row is assumed draggable. Read moreSourceยงimpl<O> TreeModelExt for Owhere
O: IsA<TreeModel>,
impl<O> TreeModelExt for Owhere
O: IsA<TreeModel>,
Sourceยงfn foreach<P: FnMut(&TreeModel, &TreePath, &TreeIter) -> bool>(&self, func: P)
fn foreach<P: FnMut(&TreeModel, &TreePath, &TreeIter) -> bool>(&self, func: P)
Since 4.10
Sourceยงfn column_type(&self, index_: i32) -> Type
fn column_type(&self, index_: i32) -> Type
Since 4.10
Sourceยงfn flags(&self) -> TreeModelFlags
fn flags(&self) -> TreeModelFlags
Since 4.10
Sourceยงfn iter(&self, path: &TreePath) -> Option<TreeIter>
fn iter(&self, path: &TreePath) -> Option<TreeIter>
Since 4.10
Sourceยงfn iter_first(&self) -> Option<TreeIter>
fn iter_first(&self) -> Option<TreeIter>
Since 4.10
Sourceยงfn iter_from_string(&self, path_string: &str) -> Option<TreeIter>
fn iter_from_string(&self, path_string: &str) -> Option<TreeIter>
Since 4.10
Sourceยงfn n_columns(&self) -> i32
fn n_columns(&self) -> i32
Since 4.10
Sourceยงfn string_from_iter(&self, iter: &TreeIter) -> Option<GString>
fn string_from_iter(&self, iter: &TreeIter) -> Option<GString>
Since 4.10
Sourceยงfn iter_children(&self, parent: Option<&TreeIter>) -> Option<TreeIter>
fn iter_children(&self, parent: Option<&TreeIter>) -> Option<TreeIter>
Since 4.10
Sourceยงfn iter_has_child(&self, iter: &TreeIter) -> bool
fn iter_has_child(&self, iter: &TreeIter) -> bool
Since 4.10
Sourceยงfn iter_n_children(&self, iter: Option<&TreeIter>) -> i32
fn iter_n_children(&self, iter: Option<&TreeIter>) -> i32
Since 4.10
Sourceยงfn iter_nth_child(&self, parent: Option<&TreeIter>, n: i32) -> Option<TreeIter>
fn iter_nth_child(&self, parent: Option<&TreeIter>, n: i32) -> Option<TreeIter>
Since 4.10
Sourceยงfn iter_parent(&self, child: &TreeIter) -> Option<TreeIter>
fn iter_parent(&self, child: &TreeIter) -> Option<TreeIter>
Since 4.10
Sourceยงfn row_changed(&self, path: &TreePath, iter: &TreeIter)
fn row_changed(&self, path: &TreePath, iter: &TreeIter)
Since 4.10
Sourceยงfn row_deleted(&self, path: &TreePath)
fn row_deleted(&self, path: &TreePath)
Since 4.10
Sourceยงfn row_has_child_toggled(&self, path: &TreePath, iter: &TreeIter)
fn row_has_child_toggled(&self, path: &TreePath, iter: &TreeIter)
Since 4.10
Sourceยงfn row_inserted(&self, path: &TreePath, iter: &TreeIter)
fn row_inserted(&self, path: &TreePath, iter: &TreeIter)
Since 4.10
Sourceยงfn connect_row_changed<F: Fn(&Self, &TreePath, &TreeIter) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_row_changed<F: Fn(&Self, &TreePath, &TreeIter) + 'static>( &self, f: F, ) -> SignalHandlerId
Since 4.10
Sourceยงfn connect_row_deleted<F: Fn(&Self, &TreePath) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_row_deleted<F: Fn(&Self, &TreePath) + 'static>( &self, f: F, ) -> SignalHandlerId
Since 4.10
Sourceยงimpl<O> TreeModelExtManual for Owhere
O: IsA<TreeModel>,
impl<O> TreeModelExtManual for Owhere
O: IsA<TreeModel>,
Sourceยงfn get<V: for<'b> FromValue<'b> + 'static>(
&self,
iter: &TreeIter,
column: i32,
) -> V
fn get<V: for<'b> FromValue<'b> + 'static>( &self, iter: &TreeIter, column: i32, ) -> V
Since 4.10
Self::get_value but panics if the value is of a different
type.
Gets the value of one or more cells in the row referenced by @iter. Read moreSourceยงfn iter_next(&self, iter: &mut TreeIter) -> bool
fn iter_next(&self, iter: &mut TreeIter) -> bool
Since 4.10
Sourceยงfn iter_previous(&self, iter: &mut TreeIter) -> bool
fn iter_previous(&self, iter: &mut TreeIter) -> bool
Since 4.10
Sourceยงimpl<O> TreeSortableExt for Owhere
O: IsA<TreeSortable>,
impl<O> TreeSortableExt for Owhere
O: IsA<TreeSortable>,
Sourceยงfn has_default_sort_func(&self) -> bool
fn has_default_sort_func(&self) -> bool
Since 4.10
Sourceยงfn sort_column_changed(&self)
fn sort_column_changed(&self)
Since 4.10
GtkTreeSortable::sort-column-changed signal on @self. Read moreSourceยงfn connect_sort_column_changed<F: Fn(&Self) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_sort_column_changed<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId
Since 4.10
Sourceยงimpl<O> TreeSortableExtManual for Owhere
O: IsA<TreeSortable>,
impl<O> TreeSortableExtManual for Owhere
O: IsA<TreeSortable>,
Sourceยงfn set_default_sort_func<F>(&self, sort_func: F)
fn set_default_sort_func<F>(&self, sort_func: F)
Since 4.10
GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using
this function. Read moreSourceยงfn set_sort_func<F>(&self, sort_column_id: SortColumn, sort_func: F)
fn set_sort_func<F>(&self, sort_column_id: SortColumn, sort_func: F)
Since 4.10
Sourceยงfn sort_column_id(&self) -> Option<(SortColumn, SortType)>
fn sort_column_id(&self) -> Option<(SortColumn, SortType)>
Since 4.10
Sourceยงfn set_sort_column_id(&self, sort_column_id: SortColumn, order: SortType)
fn set_sort_column_id(&self, sort_column_id: SortColumn, order: SortType)
Since 4.10
GtkTreeSortable::sort-column-changed signal. @sort_column_id may either be
a regular column id, or one of the following special values: Read moreSourceยงfn set_unsorted(&self)
fn set_unsorted(&self)
Since 4.10