use super::grid;
use super::pack;
use super::widget;
use super::wish;
#[derive(Clone, Debug, PartialEq)]
pub struct TkScrollbar {
pub id: String,
}
pub fn make_horizontal_scrollbar(
parent: &impl widget::TkWidget,
widget: &impl widget::TkWidget,
) -> TkScrollbar {
let id = wish::next_wid(parent.id());
let msg = format!(
"ttk::scrollbar {} -orient horizontal -command {{{} xview}}",
id,
widget.id()
);
wish::tell_wish(&msg);
let msg = format!("{} configure -xscrollcommand {{{} set}}", widget.id(), id);
wish::tell_wish(&msg);
TkScrollbar { id }
}
pub fn make_vertical_scrollbar(
parent: &impl widget::TkWidget,
widget: &impl widget::TkWidget,
) -> TkScrollbar {
let id = wish::next_wid(parent.id());
let msg = format!(
"ttk::scrollbar {} -orient vertical -command {{{} yview}}",
id,
widget.id()
);
wish::tell_wish(&msg);
let msg = format!("{} configure -yscrollcommand {{{} set}}", widget.id(), id);
wish::tell_wish(&msg);
TkScrollbar { id }
}
impl widget::TkWidget for TkScrollbar {
fn id(&self) -> &str {
&self.id
}
}
impl grid::TkGridLayout for TkScrollbar {}
impl pack::TkPackLayout for TkScrollbar {}
impl TkScrollbar {}