Skip to content

Commit

Permalink
Make artboards also abortable
Browse files Browse the repository at this point in the history
  • Loading branch information
Keavon committed Mar 9, 2024
1 parent cb40cff commit 4d271b2
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 9 deletions.
2 changes: 2 additions & 0 deletions editor/src/messages/input_mapper/default_mapping.rs
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,8 @@ pub fn default_mapping() -> Mapping {
entry!(KeyDown(ArrowRight); modifiers=[ArrowUp], action_dispatch=ArtboardToolMessage::NudgeSelected { delta_x: NUDGE_AMOUNT, delta_y: -NUDGE_AMOUNT }),
entry!(KeyDown(ArrowRight); modifiers=[ArrowDown], action_dispatch=ArtboardToolMessage::NudgeSelected { delta_x: NUDGE_AMOUNT, delta_y: NUDGE_AMOUNT }),
entry!(KeyDown(ArrowRight); action_dispatch=ArtboardToolMessage::NudgeSelected { delta_x: NUDGE_AMOUNT, delta_y: 0. }),
entry!(KeyDown(Rmb); action_dispatch=ArtboardToolMessage::Abort),
entry!(KeyDown(Escape); action_dispatch=ArtboardToolMessage::Abort),
//
// NavigateToolMessage
entry!(KeyUp(Lmb); modifiers=[Shift], action_dispatch=NavigateToolMessage::ClickZoom { zoom_in: false }),
Expand Down
32 changes: 23 additions & 9 deletions editor/src/messages/tool/tool_messages/artboard_tool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,23 @@ impl<'a> MessageHandler<ToolMessage, &mut ToolActionHandlerData<'a>> for Artboar
self.fsm_state.process_event(message, &mut self.data, tool_data, &(), responses, false);
}

advertise_actions!(ArtboardToolMessageDiscriminant;
PointerDown,
PointerUp,
PointerMove,
DeleteSelected,
NudgeSelected,
Abort,
);
fn actions(&self) -> ActionList {
use ArtboardToolFsmState::*;

let mut common = actions!(ArtboardToolMessageDiscriminant;
DeleteSelected,
NudgeSelected,
PointerMove,
);

let additional = match self.fsm_state {
Ready => actions!(ArtboardToolMessageDiscriminant; PointerDown),
_ => actions!(ArtboardToolMessageDiscriminant; PointerUp, Abort),
};
common.extend(additional);

common
}
}

impl LayoutHolder for ArtboardTool {
Expand Down Expand Up @@ -396,8 +405,13 @@ impl Fsm for ArtboardToolFsmState {
ArtboardToolFsmState::Ready
}
(_, ArtboardToolMessage::Abort) => {
tool_data.snap_manager.cleanup(responses);
responses.add(DocumentMessage::AbortTransaction);

// ArtboardTool currently doesn't implement snapping
// tool_data.snap_manager.cleanup(responses);

responses.add(OverlaysMessage::Draw);

ArtboardToolFsmState::Ready
}
_ => self,
Expand Down

0 comments on commit 4d271b2

Please sign in to comment.