upgrade gui
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -3,7 +3,7 @@
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "Omlet"
|
||||
name = "Omelt"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"eframe",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
[package]
|
||||
name = "Omlet"
|
||||
name = "Omelt"
|
||||
version = "0.1.0"
|
||||
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 {
|
||||
file_name: String,
|
||||
text: String,
|
||||
file: File,
|
||||
}
|
||||
|
||||
impl Default for Omelt {
|
||||
fn default() -> Self {
|
||||
impl Omelt {
|
||||
pub fn new(file_name: &str, file: File) -> 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 {
|
||||
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| {
|
||||
ui.heading("Omelt");
|
||||
ui.add_sized(
|
||||
ui.available_size(),
|
||||
egui::TextEdit::multiline(&mut self.text).code_editor(),
|
||||
);
|
||||
ui.heading(&self.file_name);
|
||||
egui::ScrollArea::vertical().show(ui, |ui| {
|
||||
ui.add_sized(
|
||||
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())?;
|
||||
to_compress.seek(SeekFrom::Start(0))?;
|
||||
let map = tree_to_map(&mut tree, true);
|
||||
eprintln!("map = {:?}", map);
|
||||
let trad = body_to_bin(&mut to_compress, map);
|
||||
let trad_bin = string_to_binary(&trad);
|
||||
let len_body = trad.len() as u32;
|
||||
@@ -105,8 +104,15 @@ fn main() -> std::io::Result<()> {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
println!("Illegal arguments !");
|
||||
display_options();
|
||||
let options = eframe::NativeOptions {
|
||||
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 => {
|
||||
@@ -114,12 +120,15 @@ fn main() -> std::io::Result<()> {
|
||||
viewport: egui::ViewportBuilder::default().with_inner_size([640.0, 480.0]),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
let _ = eframe::run_native(
|
||||
"Omelt",
|
||||
options,
|
||||
Box::new(|_| {
|
||||
// This gives us image support:
|
||||
Ok(Box::<Omelt>::default())
|
||||
Ok(Box::new(Omelt::new(
|
||||
"new_file.oeuf",
|
||||
File::create("new_file.oeuf")?,
|
||||
)))
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user