/// <summary>
/// Initialize a new instance of the KryptonPaletteTabButtons class.
/// </summary>
/// <param name="redirector">Palette redirector for sourcing inherited values.</param>
/// <param name="needPaint">Delegate for notifying paint requests.</param>
internal KryptonPaletteTabButtons(PaletteRedirect redirector,
NeedPaintHandler needPaint)
{
Debug.Assert(redirector != null);
// Create the button style specific and common palettes
_tabCommon = new KryptonPaletteTabButton(redirector, PaletteBackStyle.TabHighProfile, PaletteBorderStyle.TabHighProfile, PaletteContentStyle.TabHighProfile, needPaint);
_tabHighProfile = new KryptonPaletteTabButton(redirector, PaletteBackStyle.TabHighProfile, PaletteBorderStyle.TabHighProfile, PaletteContentStyle.TabHighProfile, needPaint);
_tabStandardProfile = new KryptonPaletteTabButton(redirector, PaletteBackStyle.TabStandardProfile, PaletteBorderStyle.TabStandardProfile, PaletteContentStyle.TabStandardProfile, needPaint);
_tabLowProfile = new KryptonPaletteTabButton(redirector, PaletteBackStyle.TabLowProfile, PaletteBorderStyle.TabLowProfile, PaletteContentStyle.TabLowProfile, needPaint);
_tabDock = new KryptonPaletteTabButton(redirector, PaletteBackStyle.TabDock, PaletteBorderStyle.TabDock, PaletteContentStyle.TabDock, needPaint);
_tabDockAutoHidden = new KryptonPaletteTabButton(redirector, PaletteBackStyle.TabDockAutoHidden, PaletteBorderStyle.TabDockAutoHidden, PaletteContentStyle.TabDockAutoHidden, needPaint);
_tabOneNote = new KryptonPaletteTabButton(redirector, PaletteBackStyle.TabOneNote, PaletteBorderStyle.TabOneNote, PaletteContentStyle.TabOneNote, needPaint);
_tabCustom1 = new KryptonPaletteTabButton(redirector, PaletteBackStyle.TabCustom1, PaletteBorderStyle.TabCustom1, PaletteContentStyle.TabCustom1, needPaint);
_tabCustom2 = new KryptonPaletteTabButton(redirector, PaletteBackStyle.TabCustom2, PaletteBorderStyle.TabCustom2, PaletteContentStyle.TabCustom2, needPaint);
_tabCustom3 = new KryptonPaletteTabButton(redirector, PaletteBackStyle.TabCustom3, PaletteBorderStyle.TabCustom3, PaletteContentStyle.TabCustom3, needPaint);
// Create redirectors for inheriting from style specific to style common
PaletteRedirectTriple redirectCommon = new PaletteRedirectTriple(redirector,
_tabCommon.StateDisabled, _tabCommon.StateNormal,
_tabCommon.StatePressed, _tabCommon.StateTracking,
_tabCommon.StateSelected,_tabCommon.OverrideFocus);
// Inform the button style to use the new redirector
_tabHighProfile.SetRedirector(redirectCommon);
_tabStandardProfile.SetRedirector(redirectCommon);
_tabLowProfile.SetRedirector(redirectCommon);
_tabDock.SetRedirector(redirectCommon);
_tabDockAutoHidden.SetRedirector(redirectCommon);
_tabOneNote.SetRedirector(redirectCommon);
_tabCustom1.SetRedirector(redirectCommon);
_tabCustom2.SetRedirector(redirectCommon);
_tabCustom3.SetRedirector(redirectCommon);
}