forked from 1b-agent/opencadstudio-upstream
ui(parametric): enlarge constraint ribbon tools
This commit is contained in:
1 parent
caec8dc53b
commit
7aff9fa046
1 file changed
+35
-24
@@ -48,15 +48,21 @@ impl CadModule for ParametricModule {
|
|||||||
"AUTOCONSTRAIN", "Auto Constrain",
|
"AUTOCONSTRAIN", "Auto Constrain",
|
||||||
include_bytes!("../../../assets/icons/constrain/auto.svg"),
|
include_bytes!("../../../assets/icons/constrain/auto.svg"),
|
||||||
)),
|
)),
|
||||||
RibbonItem::ToolGrid { columns: vec![
|
RibbonItem::LargeTool(coincident_tool::tool()),
|
||||||
vec![coincident_tool::tool(), parallel::tool(), tangent::tool()],
|
RibbonItem::LargeTool(parallel::tool()),
|
||||||
vec![
|
RibbonItem::LargeTool(tangent::tool()),
|
||||||
colinear::tool(), perpendicular::tool(),
|
RibbonItem::LargeTool(colinear::tool()),
|
||||||
command("SMOOTHCONSTRAINT", "Smooth", include_bytes!("../../../assets/icons/constrain/smooth.svg")),
|
RibbonItem::LargeTool(perpendicular::tool()),
|
||||||
],
|
RibbonItem::LargeTool(command(
|
||||||
vec![concentric::tool(), horizontal::tool(), symmetric::tool()],
|
"SMOOTHCONSTRAINT", "Smooth",
|
||||||
vec![fixed::tool(), vertical::tool(), equal::tool()],
|
include_bytes!("../../../assets/icons/constrain/smooth.svg"),
|
||||||
] },
|
)),
|
||||||
|
RibbonItem::LargeTool(concentric::tool()),
|
||||||
|
RibbonItem::LargeTool(horizontal::tool()),
|
||||||
|
RibbonItem::LargeTool(symmetric::tool()),
|
||||||
|
RibbonItem::LargeTool(fixed::tool()),
|
||||||
|
RibbonItem::LargeTool(vertical::tool()),
|
||||||
|
RibbonItem::LargeTool(equal::tool()),
|
||||||
RibbonItem::LabeledDropdown {
|
RibbonItem::LabeledDropdown {
|
||||||
id: "GCVISIBILITY", label: "Show/Hide",
|
id: "GCVISIBILITY", label: "Show/Hide",
|
||||||
icon: IconKind::Svg(include_bytes!("../../../assets/icons/constrain/show.svg")),
|
icon: IconKind::Svg(include_bytes!("../../../assets/icons/constrain/show.svg")),
|
||||||
@@ -84,10 +90,10 @@ impl CadModule for ParametricModule {
|
|||||||
default: "DCLINEAR",
|
default: "DCLINEAR",
|
||||||
},
|
},
|
||||||
RibbonItem::LargeTool(dimensional_tools::aligned()),
|
RibbonItem::LargeTool(dimensional_tools::aligned()),
|
||||||
RibbonItem::ToolGrid { columns: vec![
|
RibbonItem::LargeTool(dimensional_tools::angular()),
|
||||||
vec![dimensional_tools::angular(), dimensional_tools::diameter()],
|
RibbonItem::LargeTool(dimensional_tools::diameter()),
|
||||||
vec![dimensional_tools::radius(), dimensional_tools::convert()],
|
RibbonItem::LargeTool(dimensional_tools::radius()),
|
||||||
] },
|
RibbonItem::LargeTool(dimensional_tools::convert()),
|
||||||
RibbonItem::LabeledDropdown {
|
RibbonItem::LabeledDropdown {
|
||||||
id: "DCVISIBILITY", label: "Show/Hide",
|
id: "DCVISIBILITY", label: "Show/Hide",
|
||||||
icon: IconKind::Svg(include_bytes!("../../../assets/icons/constrain/show.svg")),
|
icon: IconKind::Svg(include_bytes!("../../../assets/icons/constrain/show.svg")),
|
||||||
@@ -152,11 +158,19 @@ mod tests {
|
|||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
groups[0].tools.iter().map(item_id).collect::<Vec<_>>(),
|
groups[0].tools.iter().map(item_id).collect::<Vec<_>>(),
|
||||||
["AUTOCONSTRAIN", "GRID", "GCVISIBILITY", "GCSHOWALL", "GCHIDEALL"]
|
[
|
||||||
|
"AUTOCONSTRAIN", "CCONSTRAINT", "PCONSTRAINT", "TCONSTRAINT",
|
||||||
|
"LCONSTRAINT", "QCONSTRAINT", "SMOOTHCONSTRAINT", "NCONSTRAINT",
|
||||||
|
"HCONSTRAINT", "SYCONSTRAINT", "FXCONSTRAINT", "VCONSTRAINT",
|
||||||
|
"ECONSTRAINT", "GCVISIBILITY", "GCSHOWALL", "GCHIDEALL",
|
||||||
|
]
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
groups[1].tools.iter().map(item_id).collect::<Vec<_>>(),
|
groups[1].tools.iter().map(item_id).collect::<Vec<_>>(),
|
||||||
["DC_LINEAR_MENU", "DCALIGNED", "GRID", "DCVISIBILITY", "DCSHOWALL", "DCHIDEALL"]
|
[
|
||||||
|
"DC_LINEAR_MENU", "DCALIGNED", "DCANGULAR", "DCDIAMETER",
|
||||||
|
"DCRADIUS", "DCCONVERT", "DCVISIBILITY", "DCSHOWALL", "DCHIDEALL",
|
||||||
|
]
|
||||||
);
|
);
|
||||||
assert_eq!(groups[2].tools.iter().map(item_id).collect::<Vec<_>>(), ["DELCONSTRAINT", "PARAMETERS"]);
|
assert_eq!(groups[2].tools.iter().map(item_id).collect::<Vec<_>>(), ["DELCONSTRAINT", "PARAMETERS"]);
|
||||||
|
|
||||||
@@ -168,14 +182,11 @@ mod tests {
|
|||||||
items.iter().map(|(id, _, _)| *id).collect::<Vec<_>>(),
|
items.iter().map(|(id, _, _)| *id).collect::<Vec<_>>(),
|
||||||
["DCLINEAR", "DCHORIZONTAL", "DCVERTICAL"]
|
["DCLINEAR", "DCHORIZONTAL", "DCVERTICAL"]
|
||||||
);
|
);
|
||||||
let RibbonItem::ToolGrid { columns } = &groups[0].tools[1] else { panic!("geometry grid") };
|
assert!(groups[0].tools[1..13]
|
||||||
assert_eq!(columns.iter().flatten().map(|tool| tool.id).collect::<Vec<_>>(), [
|
.iter()
|
||||||
"CCONSTRAINT", "PCONSTRAINT", "TCONSTRAINT", "LCONSTRAINT", "QCONSTRAINT", "SMOOTHCONSTRAINT",
|
.all(|item| matches!(item, RibbonItem::LargeTool(_))));
|
||||||
"NCONSTRAINT", "HCONSTRAINT", "SYCONSTRAINT", "FXCONSTRAINT", "VCONSTRAINT", "ECONSTRAINT",
|
assert!(groups[1].tools[2..6]
|
||||||
]);
|
.iter()
|
||||||
let RibbonItem::ToolGrid { columns } = &groups[1].tools[2] else { panic!("dimension grid") };
|
.all(|item| matches!(item, RibbonItem::LargeTool(_))));
|
||||||
assert_eq!(columns.iter().flatten().map(|tool| tool.id).collect::<Vec<_>>(), [
|
|
||||||
"DCANGULAR", "DCDIAMETER", "DCRADIUS", "DCCONVERT",
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user