loadRegistry method

Future<void> loadRegistry(
  1. String path
)

Implementation

Future<void> loadRegistry(String path) async {
  var json = "";
  if (path.startsWith("assets:")) {
    json = await rootBundle.loadString(path.replaceFirst(":", "/"));
  }
  else {
    final file = File(path);

    try {
      json = await file.readAsString();
    }
    catch(e) {
      print(e);
      showErrorDialog(context, e.toString());
      return ;
    }
  }

  try {
    var registry = ClassRegistry()..read(jsonDecode(json)["classes"]);

    registryPath = path;
    if ( !registryPaths.contains(registryPath))
      registryPaths.add(registryPath);

    selectRegistry(registry);

    flushSettings(write: true);
  }
  catch(e) {
    print(e);
    showErrorDialog(context, e.toString());
  }
}