mirror of
https://github.com/storytold/designcraft.git
synced 2026-11-10 04:22:34 +00:00
1 parent
35c96ee866
commit
ae28681b2c
3 files changed
+44
-44
No files matched your search
@@ -28,5 +28,5 @@ mod styles;
|
||||
mod target;
|
||||
|
||||
pub use registry::specs;
|
||||
pub use structure::{MAX_BODY_ROWS, MAX_COLUMNS, MAX_CONVERTED_CELLS, MAX_HEADER_FOOTER_ROWS};
|
||||
pub(crate) use selection::step_cell;
|
||||
pub use structure::{MAX_BODY_ROWS, MAX_COLUMNS, MAX_CONVERTED_CELLS, MAX_HEADER_FOOTER_ROWS};
|
||||
@@ -3369,7 +3369,7 @@ fn dragging_the_title_moves_the_dialog_and_dragging_the_body_does_not() {
|
||||
assert!((centred.center() - egui::pos2(600.0, 400.0)).length() < 1.0, "{centred:?}");
|
||||
assert!(centred.width() < 1000.0 && centred.height() < 700.0, "the area is the dialog, not the backdrop: {centred:?}");
|
||||
|
||||
let title = h.get_by_label("Insert Table").rect().center();
|
||||
let title = h.get_by_label("Insert Table").rect().center();
|
||||
drag(&mut h, title, title + vec2(100.0, 60.0));
|
||||
let moved = rect(&h);
|
||||
assert!((moved.min - centred.min - vec2(100.0, 60.0)).length() < 2.0, "{centred:?} -> {moved:?}");
|
||||
@@ -3379,7 +3379,7 @@ fn dragging_the_title_moves_the_dialog_and_dragging_the_body_does_not() {
|
||||
assert_eq!(rect(&h), moved, "a drag in the body leaves the dialog in place");
|
||||
|
||||
// The title row stays inside the top edge.
|
||||
let title = h.get_by_label("Insert Table").rect().center();
|
||||
let title = h.get_by_label("Insert Table").rect().center();
|
||||
drag(&mut h, title, title - vec2(0.0, 1000.0));
|
||||
assert!(rect(&h).top().abs() < 1.0, "{:?}", rect(&h));
|
||||
|
||||
@@ -3391,7 +3391,7 @@ fn dragging_the_title_moves_the_dialog_and_dragging_the_body_does_not() {
|
||||
assert!((rect(&h).center() - centred.center()).length() < 1.0, "{:?}", rect(&h));
|
||||
|
||||
// Past the left edge, about 100 px of the title row stays inside.
|
||||
let title = h.get_by_label("Insert Table").rect().center();
|
||||
let title = h.get_by_label("Insert Table").rect().center();
|
||||
drag(&mut h, title, title - vec2(900.0, 0.0));
|
||||
assert!((rect(&h).right() - 100.0).abs() < 2.0, "{:?}", rect(&h));
|
||||
}
|
||||
|
||||
@@ -2107,46 +2107,46 @@ fn context_menus_hold_commands_and_menu_bar_submenus() {
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn the_table_menu_follows_indesigns_order() {
|
||||
// InDesign's Table menu with a text insertion point (Adobe's "How to make a table").
|
||||
let table = menu_tree().into_iter().find(|(m, _)| *m == "Table").unwrap().1;
|
||||
let labels: Vec<String> = table
|
||||
.iter()
|
||||
.map(|i| match i {
|
||||
Item::Sep => "-".to_string(),
|
||||
Item::Sub(n, _) => format!("{n} >"),
|
||||
Item::Cmd { label, .. } => label.clone(),
|
||||
})
|
||||
.collect();
|
||||
let expected = [
|
||||
"Insert Table…",
|
||||
"Convert Text to Table…",
|
||||
"Convert Table to Text…",
|
||||
"-",
|
||||
"Cell Options >",
|
||||
"-",
|
||||
"Insert >",
|
||||
"Delete >",
|
||||
"Select >",
|
||||
"-",
|
||||
"Merge Cells",
|
||||
"Unmerge Cells",
|
||||
"Split Cell Horizontally",
|
||||
"Split Cell Vertically",
|
||||
"Convert Cell Type >",
|
||||
"Convert Rows >",
|
||||
"-",
|
||||
"Distribute Rows Evenly",
|
||||
"Distribute Columns Evenly",
|
||||
];
|
||||
assert_eq!(labels, expected);
|
||||
// Cmd+Alt+Shift+T opens the dialog, as InDesign's; the engine command has no shortcut of
|
||||
// its own. The Table panel is in Window › Type & Tables.
|
||||
assert_eq!(ui_label("app.insertTableDialog").and_then(|c| c.1), Some("Cmd+Alt+Shift+T"));
|
||||
assert_eq!(designcraft_engine::find_command("table.insert").unwrap().shortcut, None);
|
||||
assert_eq!(ui_label("app.tablePanel").and_then(|c| c.1), Some("Shift+F9"));
|
||||
}
|
||||
#[test]
|
||||
fn the_table_menu_follows_indesigns_order() {
|
||||
// InDesign's Table menu with a text insertion point (Adobe's "How to make a table").
|
||||
let table = menu_tree().into_iter().find(|(m, _)| *m == "Table").unwrap().1;
|
||||
let labels: Vec<String> = table
|
||||
.iter()
|
||||
.map(|i| match i {
|
||||
Item::Sep => "-".to_string(),
|
||||
Item::Sub(n, _) => format!("{n} >"),
|
||||
Item::Cmd { label, .. } => label.clone(),
|
||||
})
|
||||
.collect();
|
||||
let expected = [
|
||||
"Insert Table…",
|
||||
"Convert Text to Table…",
|
||||
"Convert Table to Text…",
|
||||
"-",
|
||||
"Cell Options >",
|
||||
"-",
|
||||
"Insert >",
|
||||
"Delete >",
|
||||
"Select >",
|
||||
"-",
|
||||
"Merge Cells",
|
||||
"Unmerge Cells",
|
||||
"Split Cell Horizontally",
|
||||
"Split Cell Vertically",
|
||||
"Convert Cell Type >",
|
||||
"Convert Rows >",
|
||||
"-",
|
||||
"Distribute Rows Evenly",
|
||||
"Distribute Columns Evenly",
|
||||
];
|
||||
assert_eq!(labels, expected);
|
||||
// Cmd+Alt+Shift+T opens the dialog, as InDesign's; the engine command has no shortcut of
|
||||
// its own. The Table panel is in Window › Type & Tables.
|
||||
assert_eq!(ui_label("app.insertTableDialog").and_then(|c| c.1), Some("Cmd+Alt+Shift+T"));
|
||||
assert_eq!(designcraft_engine::find_command("table.insert").unwrap().shortcut, None);
|
||||
assert_eq!(ui_label("app.tablePanel").and_then(|c| c.1), Some("Shift+F9"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn the_type_menu_follows_indesigns_order() {
|
||||
|
||||
Reference in new issue
Block a user