widgets library
Contains complex or reusable widgets.
If a widget is becoming too large or needs to be reused, separate it into its own file and put it here. Although "everything is a widget"™ in Flutter, this library is reserved for widgets that are contained to a small, logical section of the general UI. Groups of widgets spanning multiple loosely-related purposes should be considered "pages" and put in the pages library.
This library is broken out into several directories:
- The
atomic
directory represent singular pieces of data, such as metric readouts. - The
generic
directory contains random pieces of UI that are reused in many locations. - The
navigation
directory is for global pieces of UI that handle navigation. - The
utils
directory contains widgets or other frontend code used by other widgets. - Other folders named after pages contain complex widgets used in that page.
This library may depend on the data, services, and models library.
Classes
- AutonomyCommandEditor
- A widget to edit an AutonomyCommand.
- CameraDetailsEditor
- A widget to modify CameraDetails for a given camera, backed by a CameraDetailsBuilder.
- ColorEditor
- A widget to edit a color, backed by ColorBuilder.
- ControlsDisplay
- Displays controls for the given Controller.
-
DropdownEditor<
T> - A widget to choose a single value from a dropdown.
- The footer, responsible for showing vitals and logs.
- GamepadButton
- A widget to show the gamepad state and allow the user to switch its mode.
- GpsEditor
- A widget to edit a GPS coordinate in degree/minute/seconds or decimal format.
- ImageLoader
-
A helper class to load and manage resources used by a
ui.Image
. - MessageDisplay
- Displays the latest TaskbarMessage from HomeModel.message.
- MetricsList
- Displays metrics of all sorts in a collapsible list.
- MobileControls
- Drive controls for mobile devices where gamepads aren't feasible.
- MobileControlsModel
- Drive controls for mobile devices where gamepads aren't feasible.
- NetworkStatusIcon
- A network status icon for the given device.
- NumberEditor
- A widget to edit a number, backed by NumberBuilder.
- PresetSave
- A widget to save a preset backed by PresetBuilder.
-
ReactiveWidget<
T extends ChangeNotifier> - A widget that listens to a ChangeNotifier and rebuilds when the model updates.
-
ReactiveWidgetInterface<
T extends ChangeNotifier> - A widget that listens to a ChangeNotifier (called the view model) and updates when it does.
-
ReactiveWidgetState<
T extends ChangeNotifier> - A state for ReactiveWidget that manages the model.
-
ReusableReactiveWidget<
T extends ChangeNotifier> - A ReactiveWidgetInterface that "borrows" a view model and does not dispose of it.
- ScienceCommandEditor
- A widget to create and send a ScienceCommand.
- SerialButton
- Allows the user to connect to the firmware directly, over Serial.
- Sidebar
- A widget to display metrics and controls off to the side.
- SliderSettings
- Class that defines a slider for camera controls
- SocketEditor
- Creates a widget to edit a SocketInfo, backed by SocketBuilder.
- StatusIcons
- A few icons displaying the rover's current status.
- ThrottleEditor
- An AlertDialog to prompt the user for a throttle value and send it to the rover.
- TimerEditor
- A widget to edit a color, backed by TimerBuilder.
- TimerWidget
- A widget to view timer Can also stop and start timer
- VideoFeed
- Displays frames of a video feed.
- VideoFeedState
- The logic for updating a VideoFeed.
- VideoSettingsState
- A state for VideoSettingsWidget.
- VideoSettingsWidget
- A widget to edit camera settings.
- ViewsCounter
- A dropdown to select more or less views.
- ViewsList
- A list of views for the user to drag into their desired view area
- ViewsSelector
- A button for the user to select a new view.
- ViewsSidebarModel
- A simple model that just listens for changes in the network and settings.
- ViewsWidget
- A widget to render all the views the user selected.
Extensions
- BuildContextUtils on BuildContext
- Convenience functions on BuildContext.
- SeverityUtil on Severity
- Extension for COlors on Severity