mirror of https://github.com/TaKO8Ki/gobang
architecture
parent
8b4dee7b5a
commit
8a0f5b9d3b
@ -0,0 +1,3 @@
|
||||
pub mod database_list;
|
||||
pub mod record_table;
|
||||
pub mod table_list;
|
@ -0,0 +1,45 @@
|
||||
use tui::widgets::TableState;
|
||||
|
||||
pub struct RecordTable {
|
||||
state: TableState,
|
||||
column_names: Vec<String>,
|
||||
records: Vec<Vec<String>>,
|
||||
}
|
||||
|
||||
impl RecordTable {
|
||||
fn new() -> Self {
|
||||
Self {
|
||||
state: TableState::default(),
|
||||
column_names: vec![],
|
||||
records: vec![],
|
||||
}
|
||||
}
|
||||
|
||||
pub fn next(&mut self) {
|
||||
let i = match self.state.selected() {
|
||||
Some(i) => {
|
||||
if i >= self.records.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.records.len() - 1
|
||||
} else {
|
||||
i - 1
|
||||
}
|
||||
}
|
||||
None => 0,
|
||||
};
|
||||
self.state.select(Some(i));
|
||||
}
|
||||
}
|
@ -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