mirror of
https://github.com/zaphar/sheetsui.git
synced 2025-07-25 22:39:50 -04:00
feat: add rows and columns
This commit is contained in:
parent
6c67975be9
commit
e04e0cbb00
@ -135,7 +135,10 @@ impl<'ws> Workspace<'ws> {
|
|||||||
"Navigate Mode:".into(),
|
"Navigate Mode:".into(),
|
||||||
"* e: Enter edit mode for current cell".into(),
|
"* e: Enter edit mode for current cell".into(),
|
||||||
"* h,j,k,l: vim style navigation".into(),
|
"* h,j,k,l: vim style navigation".into(),
|
||||||
"* q exit\n* Ctrl-S Save sheet".into(),
|
"* CTRl-r: Add a row".into(),
|
||||||
|
"* CTRl-c: Add a column".into(),
|
||||||
|
"* q exit".into(),
|
||||||
|
"* Ctrl-S Save sheet".into(),
|
||||||
]),
|
]),
|
||||||
Modality::CellEdit => Text::from(vec![
|
Modality::CellEdit => Text::from(vec![
|
||||||
"Edit Mode:".into(),
|
"Edit Mode:".into(),
|
||||||
@ -184,6 +187,14 @@ impl<'ws> Workspace<'ws> {
|
|||||||
KeyCode::Char('s') if key.modifiers == KeyModifiers::CONTROL => {
|
KeyCode::Char('s') if key.modifiers == KeyModifiers::CONTROL => {
|
||||||
self.save_file()?;
|
self.save_file()?;
|
||||||
}
|
}
|
||||||
|
KeyCode::Char('r') if key.modifiers == KeyModifiers::CONTROL => {
|
||||||
|
let (row, _) = self.tbl.dimensions();
|
||||||
|
self.tbl.csv.insert_y(row);
|
||||||
|
}
|
||||||
|
KeyCode::Char('c') if key.modifiers == KeyModifiers::CONTROL => {
|
||||||
|
let (_, col) = self.tbl.dimensions();
|
||||||
|
self.tbl.csv.insert_x(col);
|
||||||
|
}
|
||||||
KeyCode::Char('q') => {
|
KeyCode::Char('q') => {
|
||||||
return Ok(Some(ExitCode::SUCCESS));
|
return Ok(Some(ExitCode::SUCCESS));
|
||||||
}
|
}
|
||||||
@ -257,7 +268,7 @@ impl<'widget, 'ws: 'widget> Widget for &'widget Workspace<'ws> {
|
|||||||
.right_aligned(),
|
.right_aligned(),
|
||||||
);
|
);
|
||||||
let [edit_rect, table_rect, info_rect] =
|
let [edit_rect, table_rect, info_rect] =
|
||||||
Layout::vertical(&[Constraint::Fill(1), Constraint::Fill(20), Constraint::Fill(3)])
|
Layout::vertical(&[Constraint::Fill(1), Constraint::Fill(30), Constraint::Fill(9)])
|
||||||
.vertical_margin(2)
|
.vertical_margin(2)
|
||||||
.horizontal_margin(2)
|
.horizontal_margin(2)
|
||||||
.flex(Flex::Legacy)
|
.flex(Flex::Legacy)
|
||||||
@ -267,7 +278,6 @@ impl<'widget, 'ws: 'widget> Widget for &'widget Workspace<'ws> {
|
|||||||
let table_block = Block::bordered();
|
let table_block = Block::bordered();
|
||||||
let table = Table::from(&self.tbl).block(table_block);
|
let table = Table::from(&self.tbl).block(table_block);
|
||||||
table.render(table_rect, buf);
|
table.render(table_rect, buf);
|
||||||
// TODO(jwall): render help text?
|
|
||||||
let info_para = self.render_help_text();
|
let info_para = self.render_help_text();
|
||||||
info_para.render(info_rect, buf);
|
info_para.render(info_rect, buf);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user