From 7d2049b59d88741f325cf2b5682529938aa52f63 Mon Sep 17 00:00:00 2001 From: doryan Date: Fri, 9 Aug 2024 20:51:28 +0400 Subject: [PATCH] feat(cheatsheet): remove list of position errors --- .../model_utils/hamming_code_seven_four.rs | 15 ------ src/model/builder_traits.rs | 3 +- src/model/mod.rs | 13 +++-- src/model/models.rs | 51 +++++++++---------- 4 files changed, 35 insertions(+), 47 deletions(-) diff --git a/src/controller/model_utils/hamming_code_seven_four.rs b/src/controller/model_utils/hamming_code_seven_four.rs index 1cc0d92..55b4b88 100644 --- a/src/controller/model_utils/hamming_code_seven_four.rs +++ b/src/controller/model_utils/hamming_code_seven_four.rs @@ -5,21 +5,6 @@ use crate::{ model::models::*, }; -/// **Синдромы** -/// -/// ошибочная позиция 1 false true true. -/// -/// ошибочная позиция 2 false false true. -/// -/// ошибочная позиция 3 true false true. -/// -/// ошибочная позиция 4 false true false. -/// -/// ошибочная позиция 5 true true false. -/// -/// ошибочная позиция 6 true false false. -/// -/// ошибочная позиция 7 false false false. pub fn hamming(raw_input: String, mode: HammingMode) -> Result { let length_of_code: usize = mode.clone() as usize; diff --git a/src/model/builder_traits.rs b/src/model/builder_traits.rs index cac9a74..b6822d3 100644 --- a/src/model/builder_traits.rs +++ b/src/model/builder_traits.rs @@ -1,9 +1,10 @@ pub trait Product { fn builder() -> B; - fn get(self) -> T; + fn get(&self) -> &T; } +#[allow(dead_code)] pub trait Builder { fn build(&self, build_arg: P) -> T; diff --git a/src/model/mod.rs b/src/model/mod.rs index 8530639..f31cdd3 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -2,14 +2,19 @@ pub mod builder_traits; pub mod models; use crate::gtk::glib; + use glib::Object; glib::wrapper! { - pub struct ResultValue(ObjectSubclass); + pub struct Frequency(ObjectSubclass); } -impl ResultValue { - pub fn new(val: f64) -> Self { - Object::builder().property("value", val).build() +impl Frequency { + pub fn new(frequency: f64) -> Self { + Object::builder().property("frequency", frequency).build() + } + + pub fn default() -> Self { + Object::new() } } diff --git a/src/model/models.rs b/src/model/models.rs index ad4708f..b46ec0d 100644 --- a/src/model/models.rs +++ b/src/model/models.rs @@ -2,10 +2,11 @@ use std::cell::Cell; use crate::gtk; -use glib::Properties; -use gtk::glib; -use gtk::prelude::*; -use gtk::subclass::prelude::*; +use gtk::{ + glib::{self, Properties}, + prelude::*, + subclass::prelude::*, +}; #[repr(usize)] #[derive(Clone)] @@ -14,33 +15,29 @@ pub enum HammingMode { Decrypt = 7, } -pub struct EventHandler { - pub(crate) component: C, - pub(crate) callback: F, -} - -#[derive(Default, Copy, Clone)] -pub struct SignalReduce(pub f64, pub f64, pub f64, pub f64, pub f64, pub f64); - -impl SignalReduce { - pub fn new() -> Self { - Self(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) - } +#[allow(dead_code)] +#[derive(Default, Copy, Clone, Debug)] +pub struct SignalReduce { + pub length: f64, + pub wire_resistance: f64, + pub wire_capacity: f64, + pub source_voltage: f64, + pub source_resistance: f64, + pub frequency: f64, } #[derive(Properties, Default)] -#[properties(wrapper_type = super::ResultValue)] -pub struct ResultValue { +#[properties(wrapper_type = super::Frequency)] +pub struct Frequency { #[property(get, set)] - value: Cell, -} - -// The central trait for subclassing a GObject -#[glib::object_subclass] -impl ObjectSubclass for ResultValue { - const NAME: &'static str = "MyGtkAppCustomButton"; - type Type = super::ResultValue; + frequency: Cell, } #[glib::derived_properties] -impl ObjectImpl for ResultValue {} +impl ObjectImpl for Frequency {} + +#[glib::object_subclass] +impl ObjectSubclass for Frequency { + const NAME: &'static str = "FrequencyValue"; + type Type = super::Frequency; +}