fix(dimension): complete ordinate workflow
This commit is contained in:
parent
97ec3ed67e
commit
e34b67c709
9 changed files with 442 additions and 78 deletions
|
|
@ -1154,10 +1154,17 @@ pub(super) fn on_tab_close(&mut self, idx: usize) -> Task<Message> {
|
|||
.zip(self.tabs[i].selected_grips.iter())
|
||||
.find(|(owner, g)| **owner == popup.handle && g.id == popup.grip_id)
|
||||
{
|
||||
// "Move with Leader" drags the whole multileader; the
|
||||
// others move just the picked grip.
|
||||
// The synthetic whole-object grip is specific to a
|
||||
// multileader. Dimension text grips implement their
|
||||
// own leader relationship and must keep their real ID.
|
||||
let is_multileader = matches!(
|
||||
self.tabs[i].scene.document.get_entity(popup.handle),
|
||||
Some(acadrust::EntityType::MultiLeader(_))
|
||||
);
|
||||
let (grip_id, is_translate) =
|
||||
if matches!(item.action, GripMenuAction::MoveWithLeader) {
|
||||
if matches!(item.action, GripMenuAction::MoveWithLeader)
|
||||
&& is_multileader
|
||||
{
|
||||
(crate::entities::multileader::MOVE_ALL_GRIP, true)
|
||||
} else {
|
||||
(popup.grip_id, g.is_midpoint)
|
||||
|
|
|
|||
Loading…
Reference in a new issue