upgrade gui
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -3,7 +3,7 @@
|
|||||||
version = 4
|
version = 4
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "Omlet"
|
name = "Omelt"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"eframe",
|
"eframe",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "Omlet"
|
name = "Omelt"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
|
|||||||
BIN
fonts/atwriter.ttf
Normal file
BIN
fonts/atwriter.ttf
Normal file
Binary file not shown.
51
src/gui.rs
51
src/gui.rs
@@ -1,24 +1,57 @@
|
|||||||
use eframe::egui;
|
use eframe::egui::{self};
|
||||||
|
use eframe::epaint::text::{FontInsert, InsertFontFamily};
|
||||||
|
use std::fs::File;
|
||||||
|
use std::io::prelude::*;
|
||||||
|
|
||||||
pub struct Omelt {
|
pub struct Omelt {
|
||||||
|
file_name: String,
|
||||||
text: String,
|
text: String,
|
||||||
|
file: File,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Omelt {
|
impl Omelt {
|
||||||
fn default() -> Self {
|
pub fn new(file_name: &str, file: File) -> Self {
|
||||||
Self {
|
Self {
|
||||||
text: "Test of text.".to_owned(),
|
file_name: file_name.to_owned(),
|
||||||
|
text: "".to_owned(),
|
||||||
|
file: file,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pub fn update_txt(&mut self) {
|
||||||
|
let _ = self.file.read_to_string(&mut self.text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn add_font(ctx: &egui::Context) {
|
||||||
|
ctx.add_font(FontInsert::new(
|
||||||
|
"atwriter",
|
||||||
|
egui::FontData::from_static(include_bytes!("../fonts/atwriter.ttf")),
|
||||||
|
vec![
|
||||||
|
InsertFontFamily {
|
||||||
|
family: egui::FontFamily::Proportional,
|
||||||
|
priority: egui::epaint::text::FontPriority::Highest,
|
||||||
|
},
|
||||||
|
InsertFontFamily {
|
||||||
|
family: egui::FontFamily::Monospace,
|
||||||
|
priority: egui::epaint::text::FontPriority::Lowest,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
impl eframe::App for Omelt {
|
impl eframe::App for Omelt {
|
||||||
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
|
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
|
||||||
|
self.update_txt();
|
||||||
|
add_font(ctx);
|
||||||
|
ctx.set_zoom_factor(2.0);
|
||||||
egui::CentralPanel::default().show(ctx, |ui| {
|
egui::CentralPanel::default().show(ctx, |ui| {
|
||||||
ui.heading("Omelt");
|
ui.heading(&self.file_name);
|
||||||
ui.add_sized(
|
egui::ScrollArea::vertical().show(ui, |ui| {
|
||||||
ui.available_size(),
|
ui.add_sized(
|
||||||
egui::TextEdit::multiline(&mut self.text).code_editor(),
|
ui.available_size(),
|
||||||
);
|
egui::TextEdit::multiline(&mut self.text),
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
19
src/main.rs
19
src/main.rs
@@ -51,7 +51,6 @@ fn main() -> std::io::Result<()> {
|
|||||||
after_compression.write_all(string.as_bytes())?;
|
after_compression.write_all(string.as_bytes())?;
|
||||||
to_compress.seek(SeekFrom::Start(0))?;
|
to_compress.seek(SeekFrom::Start(0))?;
|
||||||
let map = tree_to_map(&mut tree, true);
|
let map = tree_to_map(&mut tree, true);
|
||||||
eprintln!("map = {:?}", map);
|
|
||||||
let trad = body_to_bin(&mut to_compress, map);
|
let trad = body_to_bin(&mut to_compress, map);
|
||||||
let trad_bin = string_to_binary(&trad);
|
let trad_bin = string_to_binary(&trad);
|
||||||
let len_body = trad.len() as u32;
|
let len_body = trad.len() as u32;
|
||||||
@@ -105,8 +104,15 @@ fn main() -> std::io::Result<()> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
println!("Illegal arguments !");
|
let options = eframe::NativeOptions {
|
||||||
display_options();
|
viewport: egui::ViewportBuilder::default().with_inner_size([640.0, 480.0]),
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
let _ = eframe::run_native(
|
||||||
|
"Omelt",
|
||||||
|
options,
|
||||||
|
Box::new(|_| Ok(Box::new(Omelt::new(&r, File::open(&r)?)))),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
None => {
|
None => {
|
||||||
@@ -114,12 +120,15 @@ fn main() -> std::io::Result<()> {
|
|||||||
viewport: egui::ViewportBuilder::default().with_inner_size([640.0, 480.0]),
|
viewport: egui::ViewportBuilder::default().with_inner_size([640.0, 480.0]),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
let _ = eframe::run_native(
|
let _ = eframe::run_native(
|
||||||
"Omelt",
|
"Omelt",
|
||||||
options,
|
options,
|
||||||
Box::new(|_| {
|
Box::new(|_| {
|
||||||
// This gives us image support:
|
Ok(Box::new(Omelt::new(
|
||||||
Ok(Box::<Omelt>::default())
|
"new_file.oeuf",
|
||||||
|
File::create("new_file.oeuf")?,
|
||||||
|
)))
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user