diff --git a/src/ui/app.rs b/src/ui/app.rs index 6947aebcc159c3dcb8e14a141d69c1550a8a22df..d9c0aca16bbfcd81149581b58a92bae21f4f6257 100644 --- a/src/ui/app.rs +++ b/src/ui/app.rs @@ -450,7 +450,7 @@ impl Default for PaneResponse { } } -#[derive(Clone)] +#[derive(Clone, Debug)] pub enum PaneAction { SplitH, SplitV, diff --git a/src/ui/panes.rs b/src/ui/panes.rs index d51fea6ac4e447f9b987aaa0aeaf0b012b785aaf..8750e9a453e223349edf428252912a9fe63ba7e2 100644 --- a/src/ui/panes.rs +++ b/src/ui/panes.rs @@ -2,7 +2,6 @@ mod default; mod messages_viewer; mod pid_drawing_tool; pub mod plot; -mod plot; use egui_tiles::TileId; use enum_dispatch::enum_dispatch; @@ -13,7 +12,7 @@ use crate::mavlink::{MavMessage, TimedMessage}; use super::app::PaneResponse; -#[derive(Clone, PartialEq, Default, Serialize, Deserialize)] +#[derive(Clone, PartialEq, Default, Serialize, Deserialize, Debug)] pub struct Pane { pub pane: PaneKind, } diff --git a/src/ui/panes/pid_drawing_tool.rs b/src/ui/panes/pid_drawing_tool.rs index c2ee75c6ec9392fba42e23116bdf2bc219d03777..6f7db25d4d386d8acb654471862e4205309282e1 100644 --- a/src/ui/panes/pid_drawing_tool.rs +++ b/src/ui/panes/pid_drawing_tool.rs @@ -18,7 +18,7 @@ use crate::ui::{composable_view::PaneResponse, utils::egui_to_glam}; use super::PaneBehavior; -#[derive(Clone, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Serialize, Deserialize, PartialEq, Debug)] enum Action { Connect(usize), ContextMenu(Vec2), @@ -28,7 +28,7 @@ enum Action { } /// Piping and instrumentation diagram -#[derive(Clone, Serialize, Deserialize, PartialEq, Default)] +#[derive(Clone, Serialize, Deserialize, PartialEq, Default, Debug)] pub struct PidPane { elements: Vec<Element>, connections: Vec<Connection>, @@ -201,7 +201,6 @@ impl PidPane { if ui.button("Connect").clicked() { self.action = Some(Action::Connect(elem_idx)); self.close_context_menu(ui); - println!("Connect action started on {}", elem_idx); } if ui.button("Rotate 90° ⟲").clicked() { self.elements[elem_idx].rotate(-PI / 2.0); @@ -340,19 +339,12 @@ impl PidPane { } fn handle_actions(&mut self, response: &Response, pointer_pos: Vec2) { - println!("Handling actions"); match self.action { Some(Action::Connect(start)) => { - println!("Handling connect action"); if response.clicked() { - println!("A click occurred"); if let Some(end) = self.hovers_element(pointer_pos) { - println!("The pointer was hovering the element {}", end); if start != end { self.connections.push(Connection::new(start, 0, end, 0)); - println!("Connect action ended on {}", end); - } else { - println!("Connect action onded on the same element") } self.action.take(); } diff --git a/src/ui/panes/pid_drawing_tool/connections.rs b/src/ui/panes/pid_drawing_tool/connections.rs index f64ec3ea5a3e00bfda8f7ebf38d33cdd04de1ae2..59894677de1c9633e153477eabcf6010fda9d016 100644 --- a/src/ui/panes/pid_drawing_tool/connections.rs +++ b/src/ui/panes/pid_drawing_tool/connections.rs @@ -9,7 +9,7 @@ use super::{ PidPane, }; -#[derive(Clone, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Serialize, Deserialize, PartialEq, Debug)] pub struct Connection { /// Index of the start element pub start: usize, diff --git a/src/ui/panes/pid_drawing_tool/elements.rs b/src/ui/panes/pid_drawing_tool/elements.rs index 49a6f6f76f5acc6a10ae8259e6c19e26cff9c490..179f5234630203ee43daa6d2c7e8f9cad0cc8122 100644 --- a/src/ui/panes/pid_drawing_tool/elements.rs +++ b/src/ui/panes/pid_drawing_tool/elements.rs @@ -6,7 +6,7 @@ use egui::{Rect, Theme, Ui}; use glam::{Mat2, Vec2}; use serde::{Deserialize, Serialize}; -#[derive(Clone, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Serialize, Deserialize, PartialEq, Debug)] pub struct Element { /// Anchor postion in grid coordinates, top-left corner position: glam::Vec2, diff --git a/src/ui/panes/pid_drawing_tool/grid.rs b/src/ui/panes/pid_drawing_tool/grid.rs index 735218a87e9408ccba0df9895addd7714a785e21..9b0797f3844bf8278b82984fe5d75f708e101371 100644 --- a/src/ui/panes/pid_drawing_tool/grid.rs +++ b/src/ui/panes/pid_drawing_tool/grid.rs @@ -12,7 +12,7 @@ pub const CONNECTION_LINE_THRESHOLD: f32 = 5.0; // Pixels pub const CONNECTION_LINE_THICKNESS: f32 = 0.2; // Grid units pub const CONNECTION_POINT_SIZE: f32 = 1.0; // Grid units -#[derive(Clone, Serialize, Deserialize, PartialEq)] +#[derive(Clone, Serialize, Deserialize, PartialEq, Debug)] pub struct GridInfo { /// Grid's zero position on screen pub zero_pos: Vec2, diff --git a/src/ui/panes/pid_drawing_tool/symbols.rs b/src/ui/panes/pid_drawing_tool/symbols.rs index 7f092870e57a333379ad862b838eddae5cd944b7..260e4ad801ae9fd0d355ff700a634a3989c271e8 100644 --- a/src/ui/panes/pid_drawing_tool/symbols.rs +++ b/src/ui/panes/pid_drawing_tool/symbols.rs @@ -3,7 +3,7 @@ use glam::Vec2; use serde::{Deserialize, Serialize}; use strum_macros::{Display, EnumIter}; -#[derive(Clone, Serialize, Deserialize, PartialEq, EnumIter, Display)] +#[derive(Clone, Serialize, Deserialize, PartialEq, EnumIter, Display, Debug)] pub enum Symbol { ManualValve, CheckValve,