add method
- PaletteEntry entry
Registers entry in the palette, replacing whatever was registered under
its name before.
Throws a StateError if entry belongs to a different palette.
Implementation
PaletteEntry add(PaletteEntry entry) {
final palette = entry._palette;
if (palette != null && palette != this) {
throw StateError('This entry is registered in a different palette.');
}
// Ensured by the public `Palette` factory.
final name = entry.name!;
final replaced = _index[name];
if (replaced != null) {
_paints.remove(replaced);
replaced._palette = null;
}
entry._palette = this;
_insert(entry);
_index[name] = entry;
return entry;
}