|
|
|
@ -7,7 +7,7 @@ use tui::{
|
|
|
|
|
text::{Span, Spans},
|
|
|
|
|
widgets::canvas::{Canvas, Line, Map, MapResolution, Rectangle},
|
|
|
|
|
widgets::{
|
|
|
|
|
Axis, BarChart, Block, Borders, Chart, Dataset, Gauge, LineGauge, List, ListItem,
|
|
|
|
|
Axis, BarChart, Block, Borders, Cell, Chart, Dataset, Gauge, LineGauge, List, ListItem,
|
|
|
|
|
Paragraph, Row, Sparkline, Table, Tabs, Wrap,
|
|
|
|
|
},
|
|
|
|
|
Frame,
|
|
|
|
@ -31,6 +31,7 @@ pub fn draw<B: Backend>(f: &mut Frame<B>, app: &mut App) {
|
|
|
|
|
match app.tabs.index {
|
|
|
|
|
0 => draw_first_tab(f, app, chunks[1]),
|
|
|
|
|
1 => draw_second_tab(f, app, chunks[1]),
|
|
|
|
|
2 => draw_third_tab(f, app, chunks[1]),
|
|
|
|
|
_ => {}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
@ -374,3 +375,51 @@ where
|
|
|
|
|
.y_bounds([-90.0, 90.0]);
|
|
|
|
|
f.render_widget(map, chunks[1]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn draw_third_tab<B>(f: &mut Frame<B>, _app: &mut App, area: Rect)
|
|
|
|
|
where
|
|
|
|
|
B: Backend,
|
|
|
|
|
{
|
|
|
|
|
let chunks = Layout::default()
|
|
|
|
|
.direction(Direction::Horizontal)
|
|
|
|
|
.constraints([Constraint::Ratio(1, 2), Constraint::Ratio(1, 2)])
|
|
|
|
|
.split(area);
|
|
|
|
|
let colors = [
|
|
|
|
|
Color::Reset,
|
|
|
|
|
Color::Black,
|
|
|
|
|
Color::Red,
|
|
|
|
|
Color::Green,
|
|
|
|
|
Color::Yellow,
|
|
|
|
|
Color::Blue,
|
|
|
|
|
Color::Magenta,
|
|
|
|
|
Color::Cyan,
|
|
|
|
|
Color::Gray,
|
|
|
|
|
Color::DarkGray,
|
|
|
|
|
Color::LightRed,
|
|
|
|
|
Color::LightGreen,
|
|
|
|
|
Color::LightYellow,
|
|
|
|
|
Color::LightBlue,
|
|
|
|
|
Color::LightMagenta,
|
|
|
|
|
Color::LightCyan,
|
|
|
|
|
Color::White,
|
|
|
|
|
];
|
|
|
|
|
let items: Vec<Row> = colors
|
|
|
|
|
.iter()
|
|
|
|
|
.map(|c| {
|
|
|
|
|
let cells = vec![
|
|
|
|
|
Cell::from(Span::raw(format!("{:?}: ", c))),
|
|
|
|
|
Cell::from(Span::styled("Foreground", Style::default().fg(*c))),
|
|
|
|
|
Cell::from(Span::styled("Background", Style::default().bg(*c))),
|
|
|
|
|
];
|
|
|
|
|
Row::new(cells)
|
|
|
|
|
})
|
|
|
|
|
.collect();
|
|
|
|
|
let table = Table::new(items)
|
|
|
|
|
.block(Block::default().title("Colors").borders(Borders::ALL))
|
|
|
|
|
.widths(&[
|
|
|
|
|
Constraint::Ratio(1, 3),
|
|
|
|
|
Constraint::Ratio(1, 3),
|
|
|
|
|
Constraint::Ratio(1, 3),
|
|
|
|
|
]);
|
|
|
|
|
f.render_widget(table, chunks[0]);
|
|
|
|
|
}
|
|
|
|
|