mirror of https://github.com/TaKO8Ki/gobang
architecture
parent
1daec68bb2
commit
ae7b2a32af
@ -0,0 +1,43 @@
|
||||
use tui::widgets::TableState;
|
||||
|
||||
pub struct TableList {
|
||||
state: TableState,
|
||||
tables: Vec<Vec<String>>,
|
||||
}
|
||||
|
||||
impl TableList {
|
||||
fn new() -> Self {
|
||||
Self {
|
||||
state: TableState::default(),
|
||||
tables: vec![],
|
||||
}
|
||||
}
|
||||
|
||||
pub fn next(&mut self) {
|
||||
let i = match self.state.selected() {
|
||||
Some(i) => {
|
||||
if i >= self.tables.len() - 1 {
|
||||
0
|
||||
} else {
|
||||
i + 1
|
||||
}
|
||||
}
|
||||
None => 0,
|
||||
};
|
||||
self.state.select(Some(i));
|
||||
}
|
||||
|
||||
pub fn previous(&mut self) {
|
||||
let i = match self.state.selected() {
|
||||
Some(i) => {
|
||||
if i == 0 {
|
||||
self.tables.len() - 1
|
||||
} else {
|
||||
i - 1
|
||||
}
|
||||
}
|
||||
None => 0,
|
||||
};
|
||||
self.state.select(Some(i));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue