mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-02-04 23:44:13 +00:00
define struct, implement action
This commit is contained in:
parent
c0ebe95eb8
commit
ecd686976c
@ -5,14 +5,18 @@ use gtk::prelude::BoxExt;
|
||||
use gtk::Box;
|
||||
|
||||
pub fn new() -> Box {
|
||||
// Init components
|
||||
let tab = tab::new();
|
||||
|
||||
// Init widget
|
||||
let tray = Box::builder()
|
||||
.orientation(gtk::Orientation::Horizontal)
|
||||
.spacing(8)
|
||||
.build();
|
||||
|
||||
// Compose childs
|
||||
tray.append(&menu::new());
|
||||
tray.append(&tab::new());
|
||||
tray.append(&menu::new()); // @TODO
|
||||
tray.append(tab.widget.as_ref());
|
||||
|
||||
tray
|
||||
tray // @TODO struct
|
||||
}
|
||||
|
@ -1,10 +1,27 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use gtk::prelude::{ButtonExt, WidgetExt};
|
||||
use gtk::Button;
|
||||
|
||||
pub fn new() -> Button {
|
||||
let tab = Button::builder()
|
||||
.icon_name("tab-new-symbolic")
|
||||
.tooltip_text("New tab")
|
||||
.build();
|
||||
|
||||
return tab;
|
||||
pub struct Tab {
|
||||
pub widget: Arc<gtk::Button>,
|
||||
}
|
||||
|
||||
pub fn new() -> Tab {
|
||||
// Init widget
|
||||
let widget = Arc::new(
|
||||
Button::builder()
|
||||
.icon_name("tab-new-symbolic")
|
||||
.tooltip_text("New tab")
|
||||
.build(),
|
||||
);
|
||||
|
||||
// Init events
|
||||
widget.connect_clicked(|this| {
|
||||
this.activate_action("win.tab_append", None)
|
||||
.expect("The action does not exist");
|
||||
});
|
||||
|
||||
// Result
|
||||
Tab { widget }
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user