I forget, what I changes
This commit is contained in:
parent
703292a799
commit
db1de143d3
|
@ -1,8 +1,11 @@
|
|||
use gtk4 as gtk;
|
||||
|
||||
use gtk::*;
|
||||
use view::*;
|
||||
use gtk::prelude::*;
|
||||
use crate::view::ui::ui;
|
||||
|
||||
#[path="utils/parsing_vector.rs"]
|
||||
mod parsing;
|
||||
|
||||
#[path="ui_src/components/switch.rs"]
|
||||
mod switch;
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
pub mod hamming_code{
|
||||
use std::collections::HashMap;
|
||||
use crate::parsing::parsing::parse;
|
||||
|
||||
pub fn hamming_encrypt_data(data: &Vec<u8>, result_string: &mut String, length_of_code: usize) -> () {
|
||||
let mut i : usize = length_of_code;
|
||||
|
@ -81,11 +82,15 @@ pub mod hamming_code{
|
|||
}
|
||||
}).collect();
|
||||
|
||||
let errored_code = parse(data_bits);
|
||||
|
||||
let correct_code = parse(correctly_code.as_slice());
|
||||
|
||||
let error = format!("Ошибка в коде {} {:?}, позиция ошибки {}, корректный код: {:?}; \n",
|
||||
i / 7,
|
||||
&data_bits,
|
||||
errored_code,
|
||||
error_position,
|
||||
correctly_code
|
||||
correct_code
|
||||
);
|
||||
|
||||
errors.push_str(error.as_str());
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
pub mod parsing{
|
||||
pub fn parse(slice : &[u8]) -> String {
|
||||
slice
|
||||
.iter()
|
||||
.map(|bit| bit.to_string())
|
||||
.reduce(|accumulator, element| accumulator + &*element)
|
||||
.unwrap()
|
||||
}
|
||||
}
|
31
src/view.rs
31
src/view.rs
|
@ -1,19 +1,15 @@
|
|||
use gtk4 as gtk;
|
||||
pub mod ui {
|
||||
use gtk4 as gtk;
|
||||
|
||||
use gtk::*;
|
||||
use gtk::prelude::*;
|
||||
use super::wrapper::*;
|
||||
use super::controller::*;
|
||||
use super::parse_input::parse_input;
|
||||
use super::state_controller::state_controller;
|
||||
use super::properties::{MarginData, Setters, TextViewSetters, Alignment};
|
||||
use gtk::*;
|
||||
use gtk::prelude::*;
|
||||
use crate::controller::{BtnEventHandler, EventHandler, SwEventHandler};
|
||||
use crate::parse_input::parse_input;
|
||||
use crate::properties::{Alignment, MarginData, Setters, TextViewSetters};
|
||||
use crate::state_controller::state_controller;
|
||||
use crate::wrapper::Wrapper;
|
||||
|
||||
fn clearing(output : &TextView, input: &TextView){
|
||||
input.buffer().set_text("");
|
||||
output.buffer().set_text("");
|
||||
}
|
||||
|
||||
pub fn laboratory_work_first_section(wrapper: &Box) -> (){
|
||||
pub fn laboratory_work_first_section(wrapper: &Box) -> (){
|
||||
|
||||
let header = Label::builder()
|
||||
.halign(Align::Start)
|
||||
|
@ -133,9 +129,9 @@ pub fn laboratory_work_first_section(wrapper: &Box) -> (){
|
|||
wrapper.append(&hamming_text_view_output_frame);
|
||||
wrapper.append(&separator);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
pub fn ui(application: &Application) {
|
||||
pub fn ui(application: &Application) {
|
||||
|
||||
let mutual_wrapper = Wrapper::row_builder()
|
||||
.set_align(Alignment::new(Align::Fill, Align::Fill))
|
||||
|
@ -147,11 +143,12 @@ pub fn ui(application: &Application) {
|
|||
|
||||
let window = ApplicationWindow::builder()
|
||||
.title("Комплексная программа для лаб. работ")
|
||||
.width_request(650)
|
||||
.width_request(800)
|
||||
.height_request(400)
|
||||
.application(application)
|
||||
.child(&mutual_wrapper)
|
||||
.build();
|
||||
|
||||
window.show();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue