use std::cell::Cell; use crate::gtk; use gtk::{ glib::{self, Properties}, prelude::*, subclass::prelude::*, }; #[repr(usize)] #[derive(Clone)] pub enum HammingMode { Encrypt = 4, Decrypt = 7, } #[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::Frequency)] pub struct Frequency { #[property(get, set)] frequency: Cell, #[property(get, set)] reactive_resist: Cell, #[property(get, set)] full_resistance: Cell, #[property(get, set)] signal_source_voltage: Cell, } #[glib::derived_properties] impl ObjectImpl for Frequency {} #[glib::object_subclass] impl ObjectSubclass for Frequency { const NAME: &'static str = "FrequencyValue"; type Type = super::Frequency; }