(&self)
| 201 | } |
| 202 | |
| 203 | fn view(&self) -> Element<'_, Message> { |
| 204 | let controls_panel = container( |
| 205 | column![ |
| 206 | text("Plot controls").size(18), |
| 207 | row![ |
| 208 | text("Pan:"), |
| 209 | checkbox(self.scroll_enabled(keyboard::Modifiers::NONE, ScrollAction::Pan)) |
| 210 | .label("scroll") |
| 211 | .on_toggle(Message::ToggleScrollToPan), |
| 212 | checkbox(self.drag_enabled(mouse::Button::Left, DragAction::Pan)) |
| 213 | .label("drag") |
| 214 | .on_toggle(Message::ToggleDragToPan), |
| 215 | checkbox(self.widget.get_controls().arrows_to_pan_enabled()) |
| 216 | .label("arrows") |
| 217 | .on_toggle(Message::ToggleArrowsToPan), |
| 218 | ] |
| 219 | .spacing(16), |
| 220 | row![ |
| 221 | text("Zoom:"), |
| 222 | checkbox(self.drag_enabled(mouse::Button::Right, DragAction::BoxZoom)) |
| 223 | .label("box zoom with right-drag") |
| 224 | .on_toggle(Message::ToggleBoxZoom), |
| 225 | checkbox(self.scroll_enabled(keyboard::Modifiers::CTRL, ScrollAction::Zoom)) |
| 226 | .label("Ctrl+scroll") |
| 227 | .on_toggle(Message::ToggleCtrlScrollZoom), |
| 228 | checkbox( |
| 229 | self.double_click_enabled(mouse::Button::Left, ClickAction::Autoscale) |
| 230 | ) |
| 231 | .label("double-click autoscale") |
| 232 | .on_toggle(Message::ToggleDoubleClickAutoscale), |
| 233 | checkbox( |
| 234 | self.key_enabled( |
| 235 | &keyboard::Key::Character("f".into()), |
| 236 | KeyAction::Autoscale, |
| 237 | ) |
| 238 | ) |
| 239 | .label("key \"f\" to autoscale") |
| 240 | .on_toggle(Message::ToggleKeyAutoscale), |
| 241 | ] |
| 242 | .spacing(16), |
| 243 | row![ |
| 244 | text("Pick:"), |
| 245 | checkbox(self.click_enabled(mouse::Button::Left, ClickAction::Pick)) |
| 246 | .label("click to pick") |
| 247 | .on_toggle(Message::ToggleClickToPick), |
| 248 | checkbox(self.key_enabled( |
| 249 | &keyboard::Key::Named(keyboard::key::Named::Escape), |
| 250 | KeyAction::ClearPick, |
| 251 | )) |
| 252 | .label("Esc clears") |
| 253 | .on_toggle(Message::ToggleClearPickOnEscape), |
| 254 | ] |
| 255 | .spacing(16), |
| 256 | row![ |
| 257 | checkbox(self.widget.highlight_on_hover()) |
| 258 | .label("Highlight on hover") |
| 259 | .on_toggle(Message::ToggleHighlightOnHover), |
| 260 | checkbox(self.widget.controls_help_enabled()) |
nothing calls this directly
no outgoing calls
no test coverage detected