aqua
aqua copied to clipboard
Preset Editor
What happens to users?
- Users can add their own hand range presets
- Users can delete the created hand range presets
- Users can update the created hand range presets
- Users can add a group to organize hand range presets
- Users can delete a group of hand range presets
- Users can change the name of groups
- Users can sort the created hand range presets
- Users can sort hand range presets in a group
- The created hand range presets are saved in the device
What's not included? (Anti-Todos)
- Users cannot delete pre-installed hand range presets
- Users cannot sort pre-installed hand range presets
- Pre-installed hand range presets are always in the last
- The created hand range presets will not be synced across devices
Models
class HandRangePresetGroup {
final String name;
final List<HandRangePreset> presets;
}
class HandRangePreset {
final String name;
final Set<HandRangePart> parts;
}
View Models
class PresetListEdit extends ChangeNotifier {
final List<HandRangePresetGroup> groups;
bool isLoading;
void deleteGroupAt(int index);
void deletePreset({int groupIndex, int presetIndex});
void addPresetToGroupAt(int groupIndex, {@required HandRangePreset preset});
void updatePresetAt(int index, HandRangePreset newPreset);
void swapGroups(int aIndex, int bIndex);
void swapPresets(int groupIndex, int aPresetIndex, int bPresetIndex);
Future<void> _savePresets();
Future<void> loadSavedPresets();
Future<void> finalize();
}