relm4/factory/widgets/
libpanel.rs

1use crate::factory::FactoryView;
2
3impl FactoryView for panel::Paned {
4    type Children = gtk::Widget;
5    type ReturnedWidget = gtk::Widget;
6    type Position = ();
7
8    fn factory_remove(&self, widget: &gtk::Widget) {
9        self.remove(widget);
10    }
11
12    fn factory_append(&self, widget: impl AsRef<gtk::Widget>, _: &()) -> gtk::Widget {
13        self.append(widget.as_ref());
14        widget.as_ref().clone()
15    }
16
17    fn factory_prepend(&self, widget: impl AsRef<gtk::Widget>, _: &()) -> gtk::Widget {
18        self.prepend(widget.as_ref());
19        widget.as_ref().clone()
20    }
21
22    fn factory_insert_after(
23        &self,
24        widget: impl AsRef<gtk::Widget>,
25        _: &(),
26        other: &gtk::Widget,
27    ) -> gtk::Widget {
28        self.insert_after(widget.as_ref(), other);
29        widget.as_ref().clone()
30    }
31
32    fn returned_widget_to_child(root_child: &gtk::Widget) -> gtk::Widget {
33        root_child.clone()
34    }
35
36    fn factory_move_after(&self, widget: &gtk::Widget, other: &gtk::Widget) {
37        self.insert_after(widget, other);
38    }
39
40    fn factory_move_start(&self, widget: &gtk::Widget) {
41        self.insert(0, widget);
42    }
43}