private void SetPalette(IPalette palette)
{
if (palette != _palette)
{
// Unhook from current palette events
if (_palette != null)
{
_palette.PalettePaint -= new EventHandler<PaletteLayoutEventArgs>(OnPaletteNeedPaint);
_palette.BasePaletteChanged -= new EventHandler(OnBaseChanged);
_palette.BaseRendererChanged -= new EventHandler(OnBaseChanged);
}
// Remember the new palette
_palette = palette;
// Get the renderer associated with the palette
_renderer = _palette.GetRenderer();
// Hook to new palette events
if (_palette != null)
{
_palette.PalettePaint += new EventHandler<PaletteLayoutEventArgs>(OnPaletteNeedPaint);
_palette.BasePaletteChanged += new EventHandler(OnBaseChanged);
_palette.BaseRendererChanged += new EventHandler(OnBaseChanged);
}
}
}