add method

PaletteEntry add(
  1. PaletteEntry entry
)

Registers entry in the palette.

Throws a StateError if entry is already in another palette, or if an entry with the same name is already registered to this palette.

Implementation

PaletteEntry add(PaletteEntry entry) {
  if (entry._palette != null) {
    throw StateError('This entry is registered in a different palette.');
  }

  // Ensured by the public `Palette` factory.
  final name = entry.name!;

  if (_index.containsKey(name)) {
    throw StateError('A paint named "$name" is already registered.');
  }

  entry._palette = this;
  _insert(entry);
  _index[name] = entry;
  return entry;
}