mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-03 07:04:34 +00:00
Add the as_weak to rust generated component
This commit is contained in:
parent
785bdb62ed
commit
de188e0a54
3 changed files with 9 additions and 4 deletions
|
@ -143,12 +143,12 @@ Hello := Rectangle {
|
|||
|
||||
fn main() {
|
||||
let app = Hello::new();
|
||||
let app_weak = sixtyfps::re_exports::PinWeak::downgrade(app.clone());
|
||||
let app_weak = app.clone().as_weak();
|
||||
app.as_ref().on_plus_clicked(move || {
|
||||
let app = app_weak.upgrade().unwrap();
|
||||
app.as_ref().set_counter(app.as_ref().get_counter() + 1);
|
||||
});
|
||||
let app_weak = sixtyfps::re_exports::PinWeak::downgrade(app.clone());
|
||||
let app_weak = app.clone().as_weak();
|
||||
app.as_ref().on_minus_clicked(move || {
|
||||
let app = app_weak.upgrade().unwrap();
|
||||
app.as_ref().set_counter(app.as_ref().get_counter() - 1);
|
||||
|
|
|
@ -4,12 +4,12 @@ sixtyfps::include_modules!();
|
|||
|
||||
fn main() {
|
||||
let app = Hello::new();
|
||||
let app_weak = sixtyfps::re_exports::PinWeak::downgrade(app.clone());
|
||||
let app_weak = app.clone().as_weak();
|
||||
app.as_ref().on_plus_clicked(move || {
|
||||
let app = app_weak.upgrade().unwrap();
|
||||
app.as_ref().set_counter(app.as_ref().get_counter() + 1);
|
||||
});
|
||||
let app_weak = sixtyfps::re_exports::PinWeak::downgrade(app.clone());
|
||||
let app_weak = app.clone().as_weak();
|
||||
app.as_ref().on_minus_clicked(move || {
|
||||
let app = app_weak.upgrade().unwrap();
|
||||
app.as_ref().set_counter(app.as_ref().get_counter() - 1);
|
||||
|
|
|
@ -372,6 +372,11 @@ fn generate_component(
|
|||
self.dpi.set(dpi);
|
||||
}
|
||||
});
|
||||
property_and_signal_accessors.push(quote! {
|
||||
pub fn as_weak(self: core::pin::Pin<std::rc::Rc<Self>>) -> sixtyfps::re_exports::PinWeak<Self> {
|
||||
sixtyfps::re_exports::PinWeak::downgrade(self)
|
||||
}
|
||||
});
|
||||
visibility = Some(quote!(pub));
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue