Skip to content

Commit 1d8fea6

Browse files
committed
glib: Implement enum paramspec builder variant that builds the default value automatically
Fixes #831
1 parent 8e0d925 commit 1d8fea6

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

glib/src/param_spec.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1000,12 +1000,18 @@ impl ParamSpecEnum {
10001000
}
10011001
}
10021002

1003-
pub fn builder<T: StaticType + FromGlib<i32> + IntoGlib<GlibType = i32>>(
1003+
pub fn builder_with_default<T: StaticType + FromGlib<i32> + IntoGlib<GlibType = i32>>(
10041004
name: &str,
10051005
default_value: T,
10061006
) -> ParamSpecEnumBuilder<T> {
10071007
ParamSpecEnumBuilder::new(name, default_value)
10081008
}
1009+
1010+
pub fn builder<T: StaticType + FromGlib<i32> + IntoGlib<GlibType = i32> + Default>(
1011+
name: &str,
1012+
) -> ParamSpecEnumBuilder<T> {
1013+
ParamSpecEnumBuilder::new(name, T::default())
1014+
}
10091015
}
10101016

10111017
#[must_use]

glib/src/subclass/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,9 @@
100100
//! vec![
101101
//! glib::ParamSpecString::builder("name")
102102
//! .build(),
103-
//! glib::ParamSpecEnum::builder::<Animal>("animal", Animal::default())
103+
//! glib::ParamSpecEnum::builder::<Animal>("animal")
104104
//! .build(),
105105
//! glib::ParamSpecFlags::builder::<MyFlags>("flags")
106-
//! .default_value(MyFlags::default())
107106
//! .build(),
108107
//! glib::ParamSpecVariant::builder("variant", glib::VariantTy::ANY)
109108
//! .build(),

0 commit comments

Comments
 (0)