Skip to content

Commit

Permalink
use scroll area
Browse files Browse the repository at this point in the history
  • Loading branch information
zu1k committed Aug 25, 2021
1 parent e59260e commit bce12b9
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 38 deletions.
2 changes: 1 addition & 1 deletion src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ fn main() {
let native_options = eframe::NativeOptions {
always_on_top: true,
decorated: false,
initial_window_size: Some(egui::vec2(500.0, 100.0)),
initial_window_size: Some(egui::vec2(500.0, 190.0)),
..Default::default()
};
eframe::run_native_return(app, native_options);
Expand Down
78 changes: 41 additions & 37 deletions src/ui.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,54 +52,58 @@ impl epi::App for MyApp {

let len = text.len();
println!("{}", len);
// let width = if len<400 {
// 800.0
// } else if len<1000 {
// 1000.0
// } else if len<2000 {
// 1600.0
// } else {
// 2000.0
// };
let width = 600.0;
let width = if len<400 {
500.0
} else if len<1000 {
600.0
} else if len<2000 {
800.0
} else {
1000.0
};

println!("{}", width);
egui::CentralPanel::default().show(ctx, |ui| {
ui.horizontal(|ui| {
egui::ComboBox::from_id_source(egui::Id::new("source_lang_ComboBox"))
.selected_text(source_lang.description())
ui.vertical(|ui| {
ui.horizontal(|ui| {
egui::ComboBox::from_id_source(egui::Id::new("source_lang_ComboBox"))
.selected_text(source_lang.description())
.show_ui(ui, |ui| {
for i in lang_list_with_auto {
let i = i.to_owned();
ui.selectable_value(source_lang, i, i.description());
}
});
if ui.add(egui::Button::new("交换")).clicked() {
let tmp_target_lang = target_lang.clone();
*target_lang = source_lang.clone();
*source_lang = tmp_target_lang;
};
egui::ComboBox::from_id_source(egui::Id::new("target_lang_ComboBox"))
.selected_text(target_lang.description())
.show_ui(ui, |ui| {
for i in lang_list_with_auto {
for i in lang_list {
let i = i.to_owned();
ui.selectable_value(source_lang, i, i.description());
ui.selectable_value(target_lang, i, i.description());
}
});
if ui.add(egui::Button::new("交换")).clicked() {
let tmp_target_lang = target_lang.clone();
*target_lang = source_lang.clone();
*source_lang = tmp_target_lang;

if source_lang.clone()!=old_source_lang || target_lang.clone()!=old_target_lang {
let _ = task_chan.send((text.clone(), target_lang.clone(), source_lang.clone()));
};
});

if let Ok(t) = text_chan.try_recv() {
*text = t;
};
egui::ComboBox::from_id_source(egui::Id::new("target_lang_ComboBox"))
.selected_text(target_lang.description())
.show_ui(ui, |ui| {
for i in lang_list {
let i = i.to_owned();
ui.selectable_value(target_lang, i, i.description());
}
let text_style = egui::TextStyle::Body;
let row_height = ui.fonts()[text_style].row_height();
let num_rows = 7.6;
egui::ScrollArea::from_max_height(row_height*num_rows).show(ui, |ui| {
ui.add(egui::TextEdit::multiline(text).desired_width(width).desired_rows(7));
});

if source_lang.clone()!=old_source_lang || target_lang.clone()!=old_target_lang {
let _ = task_chan.send((text.clone(), target_lang.clone(), source_lang.clone()));
};
});

if let Ok(t) = text_chan.try_recv() {
*text = t;
};
ui.add(egui::TextEdit::multiline(text).desired_width(width).desired_rows(4));
});

// frame.set_window_size(egui::vec2(400.0, 300.0));
frame.set_window_size(ctx.used_size());
}
}

0 comments on commit bce12b9

Please sign in to comment.