Whitespace fixup
This commit is contained in:
parent
8c6f54054c
commit
92b0d5cb01
@ -100,36 +100,36 @@ impl eframe::App for BoardBuilderApp {
|
||||
image.paint_at(ui, response.rect);
|
||||
let view = View(response.rect);
|
||||
self.draw_board(&painter, view);
|
||||
if let Some(pos) = response.interact_pointer_pos() {
|
||||
let btn = if response.clicked() {
|
||||
PointerButton::Primary
|
||||
} else if response.secondary_clicked() {
|
||||
PointerButton::Secondary
|
||||
} else {
|
||||
PointerButton::Middle
|
||||
};
|
||||
let (x, y) = view.xform(pos);
|
||||
self.dispatch_click(btn, x, y);
|
||||
}
|
||||
if let Some(pos) = response.interact_pointer_pos() {
|
||||
let btn = if response.clicked() {
|
||||
PointerButton::Primary
|
||||
} else if response.secondary_clicked() {
|
||||
PointerButton::Secondary
|
||||
} else {
|
||||
PointerButton::Middle
|
||||
};
|
||||
let (x, y) = view.xform(pos);
|
||||
self.dispatch_click(btn, x, y);
|
||||
}
|
||||
}
|
||||
});
|
||||
if self.create_node_dialog.open {
|
||||
Window::new("Create Node")
|
||||
.collapsible(false)
|
||||
.show(ctx, |ui| {
|
||||
if self.create_node_dialog.open {
|
||||
Window::new("Create Node")
|
||||
.collapsible(false)
|
||||
.show(ctx, |ui| {
|
||||
let mut board = self.board.borrow_mut();
|
||||
ui.label("Name:");
|
||||
ui.text_edit_singleline(&mut self.create_node_dialog.name);
|
||||
if ui.button("Add").clicked() {
|
||||
self.create_node_dialog.close();
|
||||
board.add_node(
|
||||
self.create_node_dialog.x,
|
||||
self.create_node_dialog.y,
|
||||
self.create_node_dialog.name.clone(),
|
||||
)
|
||||
}
|
||||
});
|
||||
}
|
||||
ui.label("Name:");
|
||||
ui.text_edit_singleline(&mut self.create_node_dialog.name);
|
||||
if ui.button("Add").clicked() {
|
||||
self.create_node_dialog.close();
|
||||
board.add_node(
|
||||
self.create_node_dialog.x,
|
||||
self.create_node_dialog.y,
|
||||
self.create_node_dialog.name.clone(),
|
||||
)
|
||||
}
|
||||
});
|
||||
}
|
||||
self.edit_labels_dialog.ui(ctx);
|
||||
}
|
||||
}
|
||||
@ -147,7 +147,7 @@ impl BoardBuilderApp {
|
||||
fn load_image_file(&mut self, ctx: &Context, image_file: &Path) -> Result<(), image::ImageError> {
|
||||
let image = image::io::Reader::open(image_file)?.decode()?;
|
||||
self.load_image(ctx, image);
|
||||
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@ -164,17 +164,17 @@ impl BoardBuilderApp {
|
||||
fn draw_board(&self, painter: &Painter, view: View) {
|
||||
let board = self.board.borrow();
|
||||
for (&id, node) in &board.nodes {
|
||||
let color = if Some(id) == self.selected_node {
|
||||
Color32::RED
|
||||
} else {
|
||||
Color32::BLACK
|
||||
};
|
||||
let color = if Some(id) == self.selected_node {
|
||||
Color32::RED
|
||||
} else {
|
||||
Color32::BLACK
|
||||
};
|
||||
painter.text(
|
||||
view.inv_xform(node.x, node.y),
|
||||
Align2::CENTER_CENTER,
|
||||
&node.name,
|
||||
FontId::proportional(16.0),
|
||||
color,
|
||||
color,
|
||||
);
|
||||
let stroke = Stroke { width: 1.0, color: Color32::BLACK };
|
||||
for edge in &node.edges {
|
||||
@ -188,34 +188,34 @@ impl BoardBuilderApp {
|
||||
}
|
||||
|
||||
fn dispatch_click(&mut self, btn: PointerButton, x: f32, y: f32) {
|
||||
use EditMode::*;
|
||||
use PointerButton::*;
|
||||
match (btn, self.edit_mode) {
|
||||
(Primary, Nodes) => self.create_node_dialog.show(x, y),
|
||||
(Primary, Edges) => self.select_edge(x, y),
|
||||
(Secondary, Nodes) => self.delete_node(x, y),
|
||||
_ => {},
|
||||
}
|
||||
use EditMode::*;
|
||||
use PointerButton::*;
|
||||
match (btn, self.edit_mode) {
|
||||
(Primary, Nodes) => self.create_node_dialog.show(x, y),
|
||||
(Primary, Edges) => self.select_edge(x, y),
|
||||
(Secondary, Nodes) => self.delete_node(x, y),
|
||||
_ => {},
|
||||
}
|
||||
}
|
||||
|
||||
fn select_edge(&mut self, x: f32, y: f32) {
|
||||
let mut board = self.board.borrow_mut();
|
||||
if let Some(nearest_id) = board.nearest_node(x, y) {
|
||||
match self.selected_node {
|
||||
None => self.selected_node = Some(nearest_id),
|
||||
Some(id) if id == nearest_id => self.selected_node = None,
|
||||
Some(id) => board.add_edge(id, nearest_id),
|
||||
}
|
||||
}
|
||||
if let Some(nearest_id) = board.nearest_node(x, y) {
|
||||
match self.selected_node {
|
||||
None => self.selected_node = Some(nearest_id),
|
||||
Some(id) if id == nearest_id => self.selected_node = None,
|
||||
Some(id) => board.add_edge(id, nearest_id),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn delete_node(&mut self, x: f32, y: f32) {
|
||||
let mut board = self.board.borrow_mut();
|
||||
if let Some(nearest_id) = board.nearest_node(x, y) {
|
||||
board.remove_node(nearest_id);
|
||||
}
|
||||
if let Some(nearest_id) = board.nearest_node(x, y) {
|
||||
board.remove_node(nearest_id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
@ -235,14 +235,14 @@ struct CreateNodeDialog {
|
||||
|
||||
impl CreateNodeDialog {
|
||||
fn show(&mut self, x: f32, y: f32) {
|
||||
self.open = true;
|
||||
self.x = x;
|
||||
self.y = y;
|
||||
self.name = String::new();
|
||||
self.open = true;
|
||||
self.x = x;
|
||||
self.y = y;
|
||||
self.name = String::new();
|
||||
}
|
||||
|
||||
fn close(&mut self) {
|
||||
self.open = false;
|
||||
self.open = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -304,7 +304,7 @@ impl EditLabelsDialog {
|
||||
if let StringDialogResponse::Accepted(key) =
|
||||
self.add_key_dialog.ui(ui, "Add Key") {
|
||||
board.labels.insert(key, Vec::new());
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -322,7 +322,6 @@ enum StringDialogResponse {
|
||||
Cancelled,
|
||||
Accepted(String)
|
||||
}
|
||||
|
||||
|
||||
impl StringDialog {
|
||||
fn show(&mut self) {
|
||||
@ -347,7 +346,7 @@ impl StringDialog {
|
||||
} else {
|
||||
StringDialogResponse::Null
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
_ => StringDialogResponse::Null,
|
||||
}
|
||||
@ -364,11 +363,11 @@ impl StringDialog {
|
||||
|
||||
// impl EditNodeDialog {
|
||||
// fn show(&mut self, id: usize, board: &Board) {
|
||||
// self.open = true;
|
||||
// let node = board.nodes.get(&id).unwrap();
|
||||
|
||||
// self.id = id;
|
||||
// self.name = node.name.clone();
|
||||
// self.labels = node.labels.clone();
|
||||
// self.open = true;
|
||||
// let node = board.nodes.get(&id).unwrap();
|
||||
|
||||
// self.id = id;
|
||||
// self.name = node.name.clone();
|
||||
// self.labels = node.labels.clone();
|
||||
// }
|
||||
// }
|
||||
|
Loading…
Reference in New Issue
Block a user