use separated widget mod

This commit is contained in:
yggverse 2024-10-06 16:17:53 +03:00
parent 166f07aef8
commit 7d4cf5c1f3
4 changed files with 78 additions and 43 deletions

View file

@ -1,22 +1,30 @@
use gtk::Image;
use gtk::{prelude::WidgetExt, Image};
pub struct Pin {
widget: Image,
gobject: Image,
}
impl Pin {
// Construct
pub fn new(visible: bool) -> Pin {
let widget = Image::builder()
let gobject = Image::builder()
.icon_name("view-pin-symbolic")
.visible(visible)
.build();
Self { widget }
Self { gobject }
}
pub fn pin(&self, is_pinned: bool) {
self.gobject().set_visible(is_pinned);
}
// Getters
pub fn widget(&self) -> &Image {
&self.widget
pub fn is_pinned(&self) -> bool {
self.gobject.is_visible()
}
pub fn gobject(&self) -> &Image {
&self.gobject
}
}