jellyflow_runtime/io/config/state/views/
keyboard.rs1use crate::io::config::keys::NodeGraphDeleteKey;
2use crate::io::config::types::NodeGraphNudgeStepMode;
3
4use super::super::NodeGraphInteractionState;
5
6#[derive(Debug, Clone, Copy, PartialEq)]
8pub struct NodeGraphKeyboardInteraction {
9 pub nodes_focusable: bool,
10 pub edges_focusable: bool,
11 pub delete_key: NodeGraphDeleteKey,
12 pub nudge_step_mode: NodeGraphNudgeStepMode,
13 pub nudge_step_px: f32,
14 pub nudge_fast_step_px: f32,
15 pub disable_keyboard_a11y: bool,
16}
17
18impl NodeGraphInteractionState {
19 pub fn keyboard_interaction(&self) -> NodeGraphKeyboardInteraction {
20 NodeGraphKeyboardInteraction {
21 nodes_focusable: self.nodes_focusable,
22 edges_focusable: self.edges_focusable,
23 delete_key: self.delete_key,
24 nudge_step_mode: self.nudge_step_mode,
25 nudge_step_px: self.nudge_step_px,
26 nudge_fast_step_px: self.nudge_fast_step_px,
27 disable_keyboard_a11y: self.disable_keyboard_a11y,
28 }
29 }
30}