diff options
| author | sam-anthony <samanthony6@protonmail.com> | 2022-03-26 13:35:58 -0230 |
|---|---|---|
| committer | sam-anthony <samanthony6@protonmail.com> | 2022-03-26 13:35:58 -0230 |
| commit | e8c878f4236c056b1c0c9308e2d49c5b23833963 (patch) | |
| tree | 01f53ee620e256fa7b87ea43656b9315735e9c2a /src/app.rs | |
| parent | 90f42ad66feb6b77474d0da267d572eca16e2826 (diff) | |
| download | volute-e8c878f4236c056b1c0c9308e2d49c5b23833963.zip | |
pressure and rough layout
Diffstat (limited to 'src/app.rs')
| -rw-r--r-- | src/app.rs | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/src/app.rs b/src/app.rs deleted file mode 100644 index 1ca6196..0000000 --- a/src/app.rs +++ /dev/null @@ -1,84 +0,0 @@ -use crate::{ - input::{InputParam, Row}, - unit_of_measurement::pressure, -}; - -pub struct App { - rows: Vec<Row>, - selected_row: usize, - selected_column: InputParam, - - pub pressure_unit: pressure::Unit, -} - -impl App { - pub fn rows(&self) -> &Vec<Row> { - &self.rows - } - - pub fn next_row(&mut self) { - if self.selected_row < self.rows.len() - 1 { - self.selected_row += 1; - } else { - self.selected_row = 0; - } - } - - pub fn previous_row(&mut self) { - if self.selected_row > 0 { - self.selected_row -= 1; - } else { - self.selected_row = self.rows.len() - 1; - } - } - - pub fn next_column(&mut self) { - self.selected_column = self.selected_column.next(); - } - - pub fn previous_column(&mut self) { - self.selected_column = self.selected_column.previous(); - } - - pub fn insert_row(&mut self) { - let index = self.selected_row; - self.rows.insert(index, self.rows[index].clone()); - } - - pub fn remove_row(&mut self) { - if self.rows.len() > 1 { - self.rows.remove(self.selected_row); - // If we remove the last row, the selected row will be out of range. - if self.selected_row >= self.rows.len() { - self.selected_row = self.rows.len() - 1; - } - } - } - - pub fn selected_input_param(&self) -> &InputParam { - match self.selected_column { - InputParam::Rpm(_) => &self.rows[self.selected_row].rpm, - InputParam::Ve(_) => &self.rows[self.selected_row].ve, - InputParam::Map(_) => &self.rows[self.selected_row].map, - } - } - - pub fn selected_input_param_mut(&mut self) -> &mut InputParam { - match self.selected_column { - InputParam::Rpm(_) => &mut self.rows[self.selected_row].rpm, - InputParam::Ve(_) => &mut self.rows[self.selected_row].ve, - InputParam::Map(_) => &mut self.rows[self.selected_row].map, - } - } -} - -impl Default for App { - fn default() -> App { - App { - rows: vec![Row::default()], - selected_row: 0, - selected_column: InputParam::Rpm(0), - pressure_unit: pressure::Unit::KiloPascal, - } - } -} |