loadPreset method

  1. @override
Future<void> loadPreset(
  1. ViewPreset preset
)

Loads the given preset.

Implementation

@override
Future<void> loadPreset(ViewPreset preset) async {
  if (isLoadingPreset) return;
  isLoadingPreset = true;
  updateSplitMode(preset.splitMode);
  views = List.filled(views.length, DashboardView.blank, growable: true);
  // Wait for all views to reset so as not to cause overflow issues
  await nextFrame();
  setNumViews(preset.views.length);
  // Wait 3 frames for flutter_resizable container to load
  await nextFrame();
  await nextFrame();
  await nextFrame();
  if (preset.horizontal1.isNotEmpty) horizontalController1.setRatios(preset.horizontal1);
  if (preset.horizontal2.isNotEmpty) horizontalController2.setRatios(preset.horizontal2);
  if (preset.horizontal3.isNotEmpty) horizontalController3.setRatios(preset.horizontal3);
  if (preset.horizontal4.isNotEmpty) horizontalController4.setRatios(preset.horizontal4);
  if (preset.vertical1.isNotEmpty) verticalController1.setRatios(preset.vertical1);
  if (preset.vertical2.isNotEmpty) verticalController2.setRatios(preset.vertical2);
  views = preset.views.toList();
  notifyListeners();
  isLoadingPreset = false;
}