From 763063f4ed14345540fe217a3e35a0a7349df630 Mon Sep 17 00:00:00 2001 From: unspeaker Date: Wed, 27 Nov 2024 00:53:01 +0100 Subject: [PATCH] move Debug impls next to structs --- crates/tek_api/src/api_clock.rs | 2 +- crates/tek_tui/src/lib.rs | 66 +++++-------------- crates/tek_tui/src/tui_app_transport.rs | 10 +++ crates/tek_tui/src/tui_model_phrase_editor.rs | 9 +++ crates/tek_tui/src/tui_model_phrase_player.rs | 10 +++ 5 files changed, 47 insertions(+), 50 deletions(-) diff --git a/crates/tek_api/src/api_clock.rs b/crates/tek_api/src/api_clock.rs index 13617b29..103497ac 100644 --- a/crates/tek_api/src/api_clock.rs +++ b/crates/tek_api/src/api_clock.rs @@ -64,7 +64,7 @@ impl From<&Arc> for ClockModel { impl std::fmt::Debug for ClockModel { fn fmt (&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> { - f.debug_struct("editor") + f.debug_struct("ClockModel") .field("playing", &self.playing) .field("started", &self.started) .field("current", &self.current) diff --git a/crates/tek_tui/src/lib.rs b/crates/tek_tui/src/lib.rs index f5cbc884..84375333 100644 --- a/crates/tek_tui/src/lib.rs +++ b/crates/tek_tui/src/lib.rs @@ -45,23 +45,6 @@ submod! { tui_view_transport } -pub fn to_focus_command (input: &TuiInput) -> Option { - use KeyCode::{Tab, BackTab, Up, Down, Left, Right, Enter, Esc}; - Some(match input.event() { - key!(Tab) => FocusCommand::Next, - key!(Shift-Tab) => FocusCommand::Prev, - key!(BackTab) => FocusCommand::Prev, - key!(Shift-BackTab) => FocusCommand::Prev, - key!(Up) => FocusCommand::Up, - key!(Down) => FocusCommand::Down, - key!(Left) => FocusCommand::Left, - key!(Right) => FocusCommand::Right, - key!(Enter) => FocusCommand::Enter, - key!(Esc) => FocusCommand::Exit, - _ => return None - }) -} - pub struct TuiTheme; impl TuiTheme { @@ -91,43 +74,28 @@ impl TuiTheme { } } -use std::fmt::{Debug, Formatter, Error}; -type DebugResult = std::result::Result<(), Error>; - -impl Debug for TransportTui { - fn fmt (&self, f: &mut Formatter<'_>) -> DebugResult { - f.debug_struct("Measure") - .field("jack", &self.jack) - .field("size", &self.size) - .field("cursor", &self.cursor) - .finish() - } -} - -impl Debug for PhraseEditorModel { - fn fmt (&self, f: &mut Formatter<'_>) -> DebugResult { - f.debug_struct("editor") - .field("note_axis", &self.time_axis) - .field("time_axis", &self.note_axis) - .finish() - } -} - -impl Debug for PhrasePlayerModel { - fn fmt (&self, f: &mut Formatter<'_>) -> DebugResult { - f.debug_struct("editor") - .field("clock", &self.clock) - .field("play_phrase", &self.play_phrase) - .field("next_phrase", &self.next_phrase) - .finish() - } -} - pub trait FocusWrap { fn wrap <'a, W: Widget> (self, focus: T, content: &'a W) -> impl Widget + 'a; } +pub fn to_focus_command (input: &TuiInput) -> Option { + use KeyCode::{Tab, BackTab, Up, Down, Left, Right, Enter, Esc}; + Some(match input.event() { + key!(Tab) => FocusCommand::Next, + key!(Shift-Tab) => FocusCommand::Prev, + key!(BackTab) => FocusCommand::Prev, + key!(Shift-BackTab) => FocusCommand::Prev, + key!(Up) => FocusCommand::Up, + key!(Down) => FocusCommand::Down, + key!(Left) => FocusCommand::Left, + key!(Right) => FocusCommand::Right, + key!(Enter) => FocusCommand::Enter, + key!(Esc) => FocusCommand::Exit, + _ => return None + }) +} + #[macro_export] macro_rules! impl_focus { ($Struct:ident $Focus:ident $Grid:expr) => { impl HasFocus for $Struct { diff --git a/crates/tek_tui/src/tui_app_transport.rs b/crates/tek_tui/src/tui_app_transport.rs index 4cc717b5..b02dc468 100644 --- a/crates/tek_tui/src/tui_app_transport.rs +++ b/crates/tek_tui/src/tui_app_transport.rs @@ -9,6 +9,16 @@ pub struct TransportTui { pub focus: FocusState, } +impl std::fmt::Debug for TransportTui { + fn fmt (&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> { + f.debug_struct("TransportTui") + .field("jack", &self.jack) + .field("size", &self.size) + .field("cursor", &self.cursor) + .finish() + } +} + /// Create app state from JACK handle. impl TryFrom<&Arc>> for TransportTui { type Error = Box; diff --git a/crates/tek_tui/src/tui_model_phrase_editor.rs b/crates/tek_tui/src/tui_model_phrase_editor.rs index c66090de..61f176fe 100644 --- a/crates/tek_tui/src/tui_model_phrase_editor.rs +++ b/crates/tek_tui/src/tui_model_phrase_editor.rs @@ -26,6 +26,15 @@ pub struct PhraseEditorModel { pub(crate) size: Measure } +impl std::fmt::Debug for PhraseEditorModel { + fn fmt (&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> { + f.debug_struct("PhraseEditorModel") + .field("note_axis", &self.time_axis) + .field("time_axis", &self.note_axis) + .finish() + } +} + impl Default for PhraseEditorModel { fn default () -> Self { Self { diff --git a/crates/tek_tui/src/tui_model_phrase_player.rs b/crates/tek_tui/src/tui_model_phrase_player.rs index 75657a68..27cccf3c 100644 --- a/crates/tek_tui/src/tui_model_phrase_player.rs +++ b/crates/tek_tui/src/tui_model_phrase_player.rs @@ -28,6 +28,16 @@ pub struct PhrasePlayerModel { pub note_buf: Vec, } +impl std::fmt::Debug for PhrasePlayerModel { + fn fmt (&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> { + f.debug_struct("PhrasePlayerModel") + .field("clock", &self.clock) + .field("play_phrase", &self.play_phrase) + .field("next_phrase", &self.next_phrase) + .finish() + } +} + impl From<&ClockModel> for PhrasePlayerModel { fn from (clock: &ClockModel) -> Self { Self {