2021-11-28 08:49:20 +13:00
|
|
|
use gtk::prelude::*;
|
|
|
|
|
2020-11-01 02:23:31 +13:00
|
|
|
use crate::gui_data::GuiData;
|
|
|
|
use crate::help_functions::*;
|
2021-01-11 00:06:25 +13:00
|
|
|
use crate::notebook_enums::*;
|
2020-11-01 02:23:31 +13:00
|
|
|
|
|
|
|
pub fn connect_notebook_tabs(gui_data: &GuiData) {
|
|
|
|
let shared_buttons = gui_data.shared_buttons.clone();
|
2021-01-11 08:12:08 +13:00
|
|
|
let buttons_array = gui_data.bottom_buttons.buttons_array.clone();
|
|
|
|
let notebook_main_clone = gui_data.main_notebook.notebook_main.clone();
|
|
|
|
let buttons_names = gui_data.bottom_buttons.buttons_names.clone();
|
2020-11-01 02:23:31 +13:00
|
|
|
let shared_upper_notebooks = gui_data.shared_upper_notebooks.clone();
|
2021-01-11 08:12:08 +13:00
|
|
|
let notebook_upper = gui_data.upper_notebook.notebook_upper.clone();
|
2020-12-22 04:09:39 +13:00
|
|
|
|
2020-11-01 02:23:31 +13:00
|
|
|
notebook_main_clone.connect_switch_page(move |_, _, number| {
|
2021-01-11 00:06:25 +13:00
|
|
|
let current_tab_in_main_notebook = to_notebook_main_enum(number);
|
|
|
|
|
2020-11-01 02:23:31 +13:00
|
|
|
// Buttons
|
2021-01-11 00:06:25 +13:00
|
|
|
set_buttons(&mut *shared_buttons.borrow_mut().get_mut(¤t_tab_in_main_notebook).unwrap(), &buttons_array, &buttons_names);
|
|
|
|
|
2020-11-01 02:23:31 +13:00
|
|
|
// Upper notebook
|
|
|
|
{
|
2021-01-11 00:06:25 +13:00
|
|
|
for (index, upper_tab) in get_all_upper_tabs().iter().enumerate() {
|
|
|
|
if *shared_upper_notebooks.borrow_mut().get_mut(¤t_tab_in_main_notebook).unwrap().get_mut(upper_tab).unwrap() {
|
2021-12-01 01:53:04 +13:00
|
|
|
notebook_upper.children().get(index).unwrap().show(); // TODO find alternative for children
|
2020-11-01 02:23:31 +13:00
|
|
|
} else {
|
2021-06-26 04:07:13 +12:00
|
|
|
notebook_upper.children().get(index).unwrap().hide();
|
2020-11-01 02:23:31 +13:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|