/// <summary> /// Initialize a new instance of the KryptonPaletteHeaders class. /// </summary> /// <param name="redirector">Palette redirector for sourcing inherited values.</param> /// <param name="needPaint">Delegate for notifying paint requests.</param> internal KryptonPaletteHeaders(PaletteRedirect redirector, NeedPaintHandler needPaint) { Debug.Assert(redirector != null); // Create the button style specific and common palettes HeaderCommon = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderPrimary, PaletteBorderStyle.HeaderPrimary, PaletteContentStyle.HeaderPrimary, needPaint); HeaderPrimary = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderPrimary, PaletteBorderStyle.HeaderPrimary, PaletteContentStyle.HeaderPrimary, needPaint); HeaderSecondary = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderSecondary, PaletteBorderStyle.HeaderSecondary, PaletteContentStyle.HeaderSecondary, needPaint); HeaderDockInactive = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderDockInactive, PaletteBorderStyle.HeaderDockInactive, PaletteContentStyle.HeaderDockInactive, needPaint); HeaderDockActive = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderDockActive, PaletteBorderStyle.HeaderDockActive, PaletteContentStyle.HeaderDockActive, needPaint); HeaderCalendar = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderCalendar, PaletteBorderStyle.HeaderCalendar, PaletteContentStyle.HeaderCalendar, needPaint); HeaderForm = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderForm, PaletteBorderStyle.HeaderForm, PaletteContentStyle.HeaderForm, needPaint); HeaderCustom1 = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderCustom1, PaletteBorderStyle.HeaderCustom1, PaletteContentStyle.HeaderCustom1, needPaint); HeaderCustom2 = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderCustom2, PaletteBorderStyle.HeaderCustom2, PaletteContentStyle.HeaderCustom2, needPaint); HeaderCustom3 = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderCustom3, PaletteBorderStyle.HeaderCustom3, PaletteContentStyle.HeaderCustom3, needPaint); // Create redirectors for inheriting from style specific to style common PaletteRedirectTripleMetric redirectCommon = new PaletteRedirectTripleMetric(redirector, HeaderCommon.StateDisabled, HeaderCommon.StateDisabled, HeaderCommon.StateNormal, HeaderCommon.StateNormal); // Inform the button style to use the new redirector HeaderPrimary.SetRedirector(redirectCommon); HeaderSecondary.SetRedirector(redirectCommon); HeaderDockInactive.SetRedirector(redirectCommon); HeaderDockActive.SetRedirector(redirectCommon); HeaderCalendar.SetRedirector(redirectCommon); HeaderForm.SetRedirector(redirectCommon); HeaderCustom1.SetRedirector(redirectCommon); HeaderCustom2.SetRedirector(redirectCommon); HeaderCustom3.SetRedirector(redirectCommon); }
/// <summary> /// Initialize a new instance of the KryptonPaletteHeaders class. /// </summary> /// <param name="redirector">Palette redirector for sourcing inherited values.</param> /// <param name="needPaint">Delegate for notifying paint requests.</param> internal KryptonPaletteHeaders(PaletteRedirect redirector, NeedPaintHandler needPaint) { Debug.Assert(redirector != null); // Create the button style specific and common palettes _headerCommon = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderPrimary, PaletteBorderStyle.HeaderPrimary, PaletteContentStyle.HeaderPrimary, needPaint); _headerPrimary = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderPrimary, PaletteBorderStyle.HeaderPrimary, PaletteContentStyle.HeaderPrimary, needPaint); _headerSecondary = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderSecondary, PaletteBorderStyle.HeaderSecondary, PaletteContentStyle.HeaderSecondary, needPaint); _headerDockInactive = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderDockInactive, PaletteBorderStyle.HeaderDockInactive, PaletteContentStyle.HeaderDockInactive, needPaint); _headerDockActive = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderDockActive, PaletteBorderStyle.HeaderDockActive, PaletteContentStyle.HeaderDockActive, needPaint); _headerCalendar = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderCalendar, PaletteBorderStyle.HeaderCalendar, PaletteContentStyle.HeaderCalendar, needPaint); _headerForm = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderForm, PaletteBorderStyle.HeaderForm, PaletteContentStyle.HeaderForm, needPaint); _headerCustom1 = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderCustom1, PaletteBorderStyle.HeaderCustom1, PaletteContentStyle.HeaderCustom1, needPaint); _headerCustom2 = new KryptonPaletteHeader(redirector, PaletteBackStyle.HeaderCustom2, PaletteBorderStyle.HeaderCustom2, PaletteContentStyle.HeaderCustom2, needPaint); // Create redirectors for inheriting from style specific to style common PaletteRedirectTripleMetric redirectCommon = new PaletteRedirectTripleMetric(redirector, _headerCommon.StateDisabled, _headerCommon.StateDisabled, _headerCommon.StateNormal, _headerCommon.StateNormal); // Inform the button style to use the new redirector _headerPrimary.SetRedirector(redirectCommon); _headerSecondary.SetRedirector(redirectCommon); _headerDockInactive.SetRedirector(redirectCommon); _headerDockActive.SetRedirector(redirectCommon); _headerCalendar.SetRedirector(redirectCommon); _headerForm.SetRedirector(redirectCommon); _headerCustom1.SetRedirector(redirectCommon); _headerCustom2.SetRedirector(redirectCommon); }
/// <summary> /// Initialize a new instance of the KryptonPage class. /// </summary> /// <param name="text">Initial text.</param> /// <param name="imageSmall">Initial small image.</param> /// <param name="uniqueName">Initial unique name.</param> 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); }