public KryptonPage(string text, Image imageSmall, string uniqueName)
{
// Default properties
Text = text;
MinimumSize = new Size(50, 50);
_textTitle = "Page Title";
_textDescription = "Page Description";
_toolTipTitle = "Page ToolTip";
_toolTipBody = string.Empty;
_toolTipImage = null;
_toolTipStyle = LabelStyle.ToolTip;
_toolTipImageTransparentColor = Color.Empty;
_imageSmall = imageSmall;
_setVisible = true;
_autoHiddenSlideSize = new Size(200, 200);
_uniqueName = (string.IsNullOrEmpty(uniqueName) ? CommonHelper.UniqueString : uniqueName);
_flags.Flags = (int)(KryptonPageFlags.All);
_flags.ClearFlags((int)KryptonPageFlags.PageInOverflowBarForOutlookMode);
// Create delegates
_needDisabledPaint = new NeedPaintHandler(OnNeedDisabledPaint);
_needNormalPaint = new NeedPaintHandler(OnNeedNormalPaint);
// Create redirector for inheriting from owning navigator
_redirectNavigator = new PaletteRedirectDoubleMetric(Redirector);
_redirectNavigatorPage = new PaletteRedirectDouble(Redirector);
_redirectNavigatorHeaderGroup = new PaletteRedirectDoubleMetric(Redirector);
_redirectNavigatorHeaderPrimary = new PaletteRedirectTripleMetric(Redirector);
_redirectNavigatorHeaderSecondary = new PaletteRedirectTripleMetric(Redirector);
_redirectNavigatorHeaderBar = new PaletteRedirectTripleMetric(Redirector);
_redirectNavigatorHeaderOverflow = new PaletteRedirectTripleMetric(Redirector);
_redirectNavigatorCheckButton = new PaletteRedirectTriple(Redirector);
_redirectNavigatorOverflowButton = new PaletteRedirectTriple(Redirector);
_redirectNavigatorMiniButton = new PaletteRedirectTriple(Redirector);
_redirectNavigatorBar = new PaletteRedirectMetric(Redirector);
_redirectNavigatorSeparator = new PaletteRedirectDoubleMetric(Redirector);
_redirectNavigatorTab = new PaletteRedirectTriple(Redirector);
_redirectNavigatorRibbonTab = new PaletteRedirectRibbonTabContent(Redirector);
// Create the palette storage
_stateCommon = new PaletteNavigatorRedirect(null,
_redirectNavigator,
_redirectNavigatorPage,
_redirectNavigatorHeaderGroup,
_redirectNavigatorHeaderPrimary,
_redirectNavigatorHeaderSecondary,
_redirectNavigatorHeaderBar,
_redirectNavigatorHeaderOverflow,
_redirectNavigatorCheckButton,
_redirectNavigatorOverflowButton,
_redirectNavigatorMiniButton,
_redirectNavigatorBar,
new PaletteRedirectBorder(Redirector),
_redirectNavigatorSeparator,
_redirectNavigatorTab,
_redirectNavigatorRibbonTab,
new PaletteRedirectRibbonGeneral(Redirector),
NeedPaintDelegate);
_stateDisabled = new PaletteNavigator(_stateCommon, _needDisabledPaint);
_stateNormal = new PaletteNavigator(_stateCommon, _needNormalPaint);
_stateTracking = new PaletteNavigatorOtherEx(_stateCommon, _needNormalPaint);
_statePressed = new PaletteNavigatorOtherEx(_stateCommon, _needNormalPaint);
_stateSelected = new PaletteNavigatorOther(_stateCommon, _needNormalPaint);
_stateFocus = new PaletteNavigatorOtherRedirect(_redirectNavigatorCheckButton,
_redirectNavigatorOverflowButton,
_redirectNavigatorMiniButton,
_redirectNavigatorTab,
_redirectNavigatorRibbonTab, _needNormalPaint);
// Our view contains just a simple canvas that covers entire client area
_drawPanel = new ViewDrawPanel(_stateNormal.Page);
// Create page specific button spec storage
_buttonSpecs = new PageButtonSpecCollection(this);
// Create the view manager instance
ViewManager = new ViewManager(this, _drawPanel);
}