aqua icon indicating copy to clipboard operation
aqua copied to clipboard

Preset Editor

Open axross opened this issue 5 years ago • 0 comments

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();
}

axross avatar Nov 19 '19 02:11 axross