From 7cc3c78a24b51a58d44e1baff20b86292662390e Mon Sep 17 00:00:00 2001 From: hachem Date: Sun, 13 Oct 2024 15:13:17 +0200 Subject: Mass refactor --- libpsi-visualizer/src/cli/horizontal_cli.rs | 17 ++++++++++------- libpsi-visualizer/src/lib.rs | 6 +++++- 2 files changed, 15 insertions(+), 8 deletions(-) (limited to 'libpsi-visualizer/src') diff --git a/libpsi-visualizer/src/cli/horizontal_cli.rs b/libpsi-visualizer/src/cli/horizontal_cli.rs index 7c9a242..3f02c59 100644 --- a/libpsi-visualizer/src/cli/horizontal_cli.rs +++ b/libpsi-visualizer/src/cli/horizontal_cli.rs @@ -12,15 +12,23 @@ c1: ═══════════════════════════════════════════════■═════════▓ */ +use core::fmt; + use crate::{renderer::*, Visualizer}; use libpsi_core::QuantumCircuit; #[allow(unused)] pub struct HorizontalCLIVisualizer<'a> { - circuit: &'a QuantumCircuit, + circuit: &'a QuantumCircuit<'a>, renderer: CLIRenderer, } +impl<'a> fmt::Display for HorizontalCLIVisualizer<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.renderer.to_string()) + } +} + impl<'a> Visualizer<'a> for HorizontalCLIVisualizer<'a> { fn new(circuit: &'a QuantumCircuit) -> HorizontalCLIVisualizer<'a> { let terminal_width = term_size::dimensions().unwrap().0; @@ -31,11 +39,6 @@ impl<'a> Visualizer<'a> for HorizontalCLIVisualizer<'a> { } fn render(&mut self) { - let quad = Quad::new(2, 2, 5, 5); - let point = (10usize, 0usize); - - self.renderer.draw_quad(quad, false); - self.renderer.connect(quad, point); - println!("{}", self.renderer.to_string()); + println!("{}", self); } } diff --git a/libpsi-visualizer/src/lib.rs b/libpsi-visualizer/src/lib.rs index f880436..11436c4 100644 --- a/libpsi-visualizer/src/lib.rs +++ b/libpsi-visualizer/src/lib.rs @@ -1,9 +1,13 @@ use libpsi_core::*; +use std::fmt; pub mod cli; pub use cli::*; -pub trait Visualizer<'a> { +pub trait Visualizer<'a> +where + Self: fmt::Display, +{ fn new(circuit: &'a QuantumCircuit) -> Self; fn render(&mut self); } -- cgit v1.3