/// <summary>
 /// Initialize a new instance of the PaletteBorderToPalette class.
 /// </summary>
 /// <param name="palette">Source for getting all values.</param>
 /// <param name="style">Style of values required.</param>
 public PaletteBorderToPalette(IPalette palette,
                               PaletteBorderStyle style)
 {
     // Remember inheritance
     _palette = palette;
     _style = style;
 }
        /// <summary>
        /// Initialize a new instance of the NavigatorOutlook class.
        /// </summary>
        /// <param name="navigator">Reference to owning navigator instance.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public NavigatorOutlook(KryptonNavigator navigator,
                                NeedPaintHandler needPaint)
        {
            Debug.Assert(navigator != null);

            // Remember back reference
            _navigator = navigator;

            // Store the provided paint notification delegate
            NeedPaint = needPaint;

            // Create compound objects
            _full = new NavigatorOutlookFull(navigator, needPaint);
            _mini = new NavigatorOutlookMini(navigator, needPaint);

            // Default values
            _checkButtonStyle = ButtonStyle.NavigatorStack;
            _overflowButtonStyle = ButtonStyle.NavigatorOverflow;
            _borderEdgeStyle = PaletteBorderStyle.ControlClient;
            _orientation = Orientation.Vertical;
            _itemOrientation = ButtonOrientation.Auto;
            _headerSecondaryVisible = InheritBool.False;
            _textMoreButtons = _defaultMoreButtons;
            _textFewerButtons = _defaultFewerButtons;
            _textAddRemoveButtons = _defaultAddRemoveButtons;
            _showDropDownButton = true;
        }
 /// <summary>
 /// Initialize a new instance of the KryptonPaletteForm class.
 /// </summary>
 /// <param name="redirect">Redirector to inherit values from.</param>
 /// <param name="backStyle">Background style.</param>
 /// <param name="borderStyle">Border style.</param>
 /// <param name="needPaint">Delegate for notifying paint requests.</param>
 public KryptonPaletteForm(PaletteRedirect redirect,
                           PaletteBackStyle backStyle,
                           PaletteBorderStyle borderStyle,
                           NeedPaintHandler needPaint)
     : base(redirect, backStyle, borderStyle, needPaint)
 {
 }
 /// <summary>
 /// Initialize a new instance of the PaletteTripleJustImageRedirect class.
 /// </summary>
 /// <param name="redirect">Inheritence redirection instance.</param>
 /// <param name="backStyle">Initial background style.</param>
 /// <param name="borderStyle">Initial border style.</param>
 /// <param name="contentStyle">Initial content style.</param>
 public PaletteTripleJustImageRedirect(PaletteRedirect redirect,
                                       PaletteBackStyle backStyle,
                                       PaletteBorderStyle borderStyle,
                                       PaletteContentStyle contentStyle)
     : this(redirect, backStyle, borderStyle, contentStyle, null)
 {
 }
        /// <summary>
        /// Gets the first border color.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Color value.</returns>
        public override Color GetBorderColor1(PaletteBorderStyle style, PaletteState state)
        {
            PaletteBorderEdge inherit = GetInherit(state);

            if (inherit != null)
                return inherit.GetBackColor1(state);
            else
                return Target.GetBorderColor1(style, state);
        }
        /// <summary>
        /// Initialize a new instance of the PaletteTreeNodeTripleRedirect class.
        /// </summary>
        /// <param name="redirect">Inheritence redirection instance.</param>
        /// <param name="backStyle">Initial background style.</param>
        /// <param name="borderStyle">Initial border style.</param>
        /// <param name="contentStyle">Initial content style.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public PaletteTreeNodeTripleRedirect(PaletteRedirect redirect,
									         PaletteBackStyle backStyle,
									         PaletteBorderStyle borderStyle,
                                             PaletteContentStyle contentStyle,
                                             NeedPaintHandler needPaint)
        {
            Debug.Assert(redirect != null);
            _nodeRedirect = new PaletteTripleRedirect(redirect, backStyle, borderStyle, contentStyle, needPaint);
        }
        /// <summary>
        /// Gets a value indicating which borders to draw.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>PaletteDrawBorders value.</returns>
        public override PaletteDrawBorders GetBorderDrawBorders(PaletteBorderStyle style, PaletteState state)
        {
            PaletteDrawBorders paletteBorder = base.GetBorderDrawBorders(style, state);

            // The ribbon caption area should only ever draw a bottom border as the maximum
            if ((paletteBorder & PaletteDrawBorders.Bottom) == PaletteDrawBorders.Bottom)
                return PaletteDrawBorders.Bottom;
            else
                return PaletteDrawBorders.None;
        }
        /// <summary>
        /// Initialize a new instance of the PaletteTripleToPalette class.
        /// </summary>
        /// <param name="palette">Inheritence of values.</param>
        /// <param name="backStyle">Initial background style.</param>
        /// <param name="borderStyle">Initial border style.</param>
        /// <param name="contentStyle">Initial content style.</param>
        public PaletteTripleToPalette(IPalette palette,
									  PaletteBackStyle backStyle,
									  PaletteBorderStyle borderStyle,
									  PaletteContentStyle contentStyle)
        {
            // Store the inherit instances
            _back = new PaletteBackToPalette(palette, backStyle);
            _border = new PaletteBorderToPalette(palette, borderStyle);
            _content = new PaletteContentToPalette(palette, contentStyle);
        }
 /// <summary>
 /// Initialize a new instance of KryptonPaletteDouble3 KryptonPaletteControl class.
 /// </summary>
 /// <param name="redirect">Redirector to inherit values from.</param>
 /// <param name="backStyle">Background style.</param>
 /// <param name="borderStyle">Border style.</param>
 /// <param name="needPaint">Delegate for notifying paint requests.</param>
 public KryptonPaletteDouble3(PaletteRedirect redirect,
                              PaletteBackStyle backStyle,
                              PaletteBorderStyle borderStyle,
                              NeedPaintHandler needPaint)
 {
     // Create the storage objects
     _stateCommon = new PaletteDoubleRedirect(redirect, backStyle, borderStyle, needPaint);
     _stateDisabled = new PaletteDouble(_stateCommon, needPaint);
     _stateNormal = new PaletteDouble(_stateCommon, needPaint);
 }
        /// <summary>
        /// Initialize a new instance of the PaletteSplitContainerRedirect class.
        /// </summary>
        /// <param name="redirect">Inheritence redirection instance.</param>
        /// <param name="backContainerStyle">Initial split container background style.</param>
        /// <param name="borderContainerStyle">Initial split container border style.</param>
        /// <param name="backSeparatorStyle">Initial separator background style.</param>
        /// <param name="borderSeparatorStyle">Initial separator border style.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public PaletteSplitContainerRedirect(PaletteRedirect redirect,
										     PaletteBackStyle backContainerStyle,
                                             PaletteBorderStyle borderContainerStyle,
                                             PaletteBackStyle backSeparatorStyle,
											 PaletteBorderStyle borderSeparatorStyle,
                                             NeedPaintHandler needPaint)
            : base(redirect, backContainerStyle, borderContainerStyle, needPaint)
        {
            // Create the embedded separator palette information
            _separator = new PaletteSeparatorPaddingRedirect(redirect, backSeparatorStyle, borderSeparatorStyle, needPaint);
        }
 /// <summary>
 /// Initialize a new instance of the KryptonPaletteHeader class.
 /// </summary>
 /// <param name="redirect">Redirector to inherit values from.</param>
 /// <param name="backStyle">Background style.</param>
 /// <param name="borderStyle">Border style.</param>
 /// <param name="contentStyle">Content style.</param>
 /// <param name="needPaint">Delegate for notifying paint requests.</param>
 public KryptonPaletteHeader(PaletteRedirect redirect,
                             PaletteBackStyle backStyle,
                             PaletteBorderStyle borderStyle,
                             PaletteContentStyle contentStyle,
                             NeedPaintHandler needPaint)
 {
     // Create the storage objects
     _stateCommon = new PaletteHeaderRedirect(redirect, backStyle, borderStyle, contentStyle, needPaint);
     _stateDisabled = new PaletteTripleMetric(_stateCommon, needPaint);
     _stateNormal = new PaletteTripleMetric(_stateCommon, needPaint);
 }
 /// <summary>
 /// Initialize a new instance of the KryptonPaletteSeparator class.
 /// </summary>
 /// <param name="redirect">Redirector to inherit values from.</param>
 /// <param name="backStyle">Background style.</param>
 /// <param name="borderStyle">Border style.</param>
 /// <param name="needPaint">Delegate for notifying paint requests.</param>
 public KryptonPaletteSeparator(PaletteRedirect redirect,
                                PaletteBackStyle backStyle,
                                PaletteBorderStyle borderStyle,
                                NeedPaintHandler needPaint)
 {
     // Create the storage objects
     _stateCommon = new PaletteSeparatorPaddingRedirect(redirect, backStyle, borderStyle, needPaint);
     _stateDisabled = new PaletteSeparatorPadding(_stateCommon, _stateCommon, needPaint);
     _stateNormal = new PaletteSeparatorPadding(_stateCommon, _stateCommon, needPaint);
     _stateTracking = new PaletteSeparatorPadding(_stateCommon, _stateCommon, needPaint);
     _statePressed = new PaletteSeparatorPadding(_stateCommon, _stateCommon, needPaint);
 }
 /// <summary>
 /// Initialize a new instance of the PaletteDoubleMetricRedirect class.
 /// </summary>
 /// <param name="redirect">Inheritence redirection instance.</param>
 /// <param name="backStyle">Style for the background.</param>
 /// <param name="borderStyle">Style for the border.</param>
 /// <param name="needPaint">Delegate for notifying paint requests.</param>
 public PaletteDoubleMetricRedirect(PaletteRedirect redirect,
                                    PaletteBackStyle backStyle,
                                    PaletteBorderStyle borderStyle,
                                    NeedPaintHandler needPaint)
     : base(redirect,
            backStyle,
            borderStyle,
            needPaint)
 {
     // Remember the redirect reference
     _redirect = redirect;
 }
        /// <summary>
        /// Initialize a new instance of the PaletteSeparatorPaddingRedirect class.
        /// </summary>
        /// <param name="redirect">Inheritence redirection instance.</param>
        /// <param name="backStyle">Initial background style.</param>
        /// <param name="borderStyle">Initial border style.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public PaletteSeparatorPaddingRedirect(PaletteRedirect redirect,
									           PaletteBackStyle backStyle,
									           PaletteBorderStyle borderStyle,
                                               NeedPaintHandler needPaint)
            : base(redirect, backStyle, borderStyle, needPaint)
        {
            Debug.Assert(redirect != null);

            // Remember the redirect reference
            _redirect = redirect;

            // Set default value for padding property
            _separatorPadding = CommonHelper.InheritPadding;
        }
        /// <summary>
        /// Initialize a new instance of the NavigatorGroup class.
        /// </summary>
        /// <param name="navigator">Reference to owning navigator instance.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public NavigatorGroup(KryptonNavigator navigator,
                              NeedPaintHandler needPaint)
        {
            Debug.Assert(navigator != null);

            // Remember back reference
            _navigator = navigator;

            // Store the provided paint notification delegate
            NeedPaint = needPaint;

            // Default values
            _groupBackStyle = PaletteBackStyle.ControlClient;
            _groupBorderStyle = PaletteBorderStyle.ControlClient;
        }
 /// <summary>
 /// Initialize a new instance of the KryptonPaletteTabButton class.
 /// </summary>
 /// <param name="redirect">Redirector to inherit values from.</param>
 /// <param name="backStyle">Background style.</param>
 /// <param name="borderStyle">Border style.</param>
 /// <param name="contentStyle">Content style.</param>
 /// <param name="needPaint">Delegate for notifying paint requests.</param>
 public KryptonPaletteTabButton(PaletteRedirect redirect,
                                PaletteBackStyle backStyle,
                                PaletteBorderStyle borderStyle,
                                PaletteContentStyle contentStyle,
                                NeedPaintHandler needPaint)
 {
     // Create the storage objects
     _stateFocus = new PaletteTabTripleRedirect(redirect, backStyle, borderStyle, contentStyle, needPaint);
     _stateCommon = new PaletteTabTripleRedirect(redirect, backStyle, borderStyle, contentStyle, needPaint);
     _stateDisabled = new PaletteTabTriple(_stateCommon, needPaint);
     _stateNormal = new PaletteTabTriple(_stateCommon, needPaint);
     _stateTracking = new PaletteTabTriple(_stateCommon, needPaint);
     _statePressed = new PaletteTabTriple(_stateCommon, needPaint);
     _stateSelected = new PaletteTabTriple(_stateCommon, needPaint);
 }
        /// <summary>
        /// Initialize a new instance of the PaletteTripleMetricRedirect class.
        /// </summary>
        /// <param name="redirect">Inheritence redirection instance.</param>
        /// <param name="backStyle">Style for the background.</param>
        /// <param name="borderStyle">Style for the border.</param>
        /// <param name="contentStyle">Style for the content.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public PaletteTripleMetricRedirect(PaletteRedirect redirect,
                                           PaletteBackStyle backStyle,
                                           PaletteBorderStyle borderStyle,
                                           PaletteContentStyle contentStyle,
                                           NeedPaintHandler needPaint)
            : base(redirect,
                   backStyle,
                   borderStyle,
                   contentStyle,
                   needPaint)
        {
            Debug.Assert(redirect != null);

            // Remember the redirect reference
            _redirect = redirect;
        }
        /// <summary>
        /// Initialize a new instance of the PaletteHeaderButtonRedirect class.
        /// </summary>
        /// <param name="redirect">Inheritence redirection instance.</param>
        /// <param name="backStyle">Initial background style.</param>
        /// <param name="borderStyle">Initial border style.</param>
        /// <param name="contentStyle">Initial content style.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public PaletteHeaderButtonRedirect(PaletteRedirect redirect,
										   PaletteBackStyle backStyle,
										   PaletteBorderStyle borderStyle,
										   PaletteContentStyle contentStyle,
                                           NeedPaintHandler needPaint)
            : base(redirect, backStyle, borderStyle, contentStyle, needPaint)
        {
            Debug.Assert(redirect != null);

            // Remember the redirect reference
            _redirect = redirect;

            // Set default value for padding property
            _buttonPadding = CommonHelper.InheritPadding;
            _buttonEdgeInset = -1;
        }
        /// <summary>
        /// Initialize a new instance of the PaletteListStateRedirect class.
        /// </summary>
        /// <param name="redirect">Inheritence redirection instance.</param>
        /// <param name="backStyle">Initial background style.</param>
        /// <param name="borderStyle">Initial border style.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public PaletteListStateRedirect(PaletteRedirect redirect,
									    PaletteBackStyle backStyle,
									    PaletteBorderStyle borderStyle,
                                        NeedPaintHandler needPaint)
            : base(redirect, backStyle, borderStyle, needPaint)
        {
            Debug.Assert(redirect != null);

            // Remember the redirect reference
            _redirect = redirect;

            // Create the item redirector
            _itemRedirect = new PaletteTripleRedirect(redirect,
                                                      PaletteBackStyle.ButtonListItem,
                                                      PaletteBorderStyle.ButtonListItem,
                                                      PaletteContentStyle.ButtonListItem,
                                                      needPaint);
        }
        /// <summary>
        /// Initialize a new instance of the PaletteTripleJustImageRedirect class.
        /// </summary>
        /// <param name="redirect">Inheritence redirection instance.</param>
        /// <param name="backStyle">Initial background style.</param>
        /// <param name="borderStyle">Initial border style.</param>
        /// <param name="contentStyle">Initial content style.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public PaletteTripleJustImageRedirect(PaletteRedirect redirect,
									          PaletteBackStyle backStyle,
									          PaletteBorderStyle borderStyle,
									          PaletteContentStyle contentStyle,
                                              NeedPaintHandler needPaint)
        {
            // Store the provided paint notification delegate
            NeedPaint = needPaint;

            // Store the inherit instances
            _backInherit = new PaletteBackInheritRedirect(redirect, backStyle);
            _borderInherit = new PaletteBorderInheritRedirect(redirect, borderStyle);
            _contentInherit = new PaletteContentInheritRedirect(redirect, contentStyle);

            // Create storage that maps onto the inherit instances
            _back = new PaletteBack(_backInherit, needPaint);
            _border = new PaletteBorder(_borderInherit, needPaint);
            _content = new PaletteContentJustImage(_contentInherit, needPaint);
        }
        /// <summary>
        /// Initialize a new instance of the PaletteDataGridViewTripleRedirect class.
        /// </summary>
        /// <param name="redirect">Inheritence redirection instance.</param>
        /// <param name="backStyle">Initial background style.</param>
        /// <param name="borderStyle">Initial border style.</param>
        /// <param name="contentStyle">Initial content style.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public PaletteDataGridViewTripleRedirect(PaletteRedirect redirect,
									             PaletteBackStyle backStyle,
									             PaletteBorderStyle borderStyle,
									             PaletteContentStyle contentStyle,
                                                 NeedPaintHandler needPaint)
        {
            Debug.Assert(redirect != null);

            // Store the provided paint notification delegate
            NeedPaint = needPaint;

            // Store the inherit instances
            _backInherit = new PaletteBackInheritRedirect(redirect, backStyle);
            _borderInherit = new PaletteBorderInheritRedirect(redirect, borderStyle);
            _contentInherit = new PaletteContentInheritRedirect(redirect, contentStyle);

            // Create storage that maps onto the inherit instances
            _back = new PaletteBack(_backInherit, needPaint);
            _border = new PaletteBorder(_borderInherit, needPaint);
            _content = new PaletteDataGridViewContentCommon(_contentInherit, needPaint);
        }
        /// <summary>
        /// Initialize a new instance of the NavigatorStack class.
        /// </summary>
        /// <param name="navigator">Reference to owning navigator instance.</param>
        /// <param name="needPaint">Delegate for notifying paint requests.</param>
        public NavigatorStack(KryptonNavigator navigator,
                              NeedPaintHandler needPaint)
        {
            Debug.Assert(navigator != null);

            // Remember back reference
            _navigator = navigator;

            // Store the provided paint notification delegate
            NeedPaint = needPaint;

            // Default values
            _checkButtonStyle = ButtonStyle.NavigatorStack;
            _borderEdgeStyle = PaletteBorderStyle.ControlClient;
            _stackAnimation = true;
            _stackOrientation = Orientation.Vertical;
            _stackAlignment = RelativePositionAlign.Center;
            _itemOrientation = ButtonOrientation.Auto;
            _stackMapImage = MapKryptonPageImage.Small;
            _stackMapText = MapKryptonPageText.TextTitle;
            _stackMapExtraText = MapKryptonPageText.None;
        }
        /// <summary>
        /// Initialize a new instance of the VisualPopupTooltip class.
        /// </summary>
        /// <param name="redirector">Redirector for recovering palette values.</param>
        /// <param name="contentValues">Source of content values.</param>
        /// <param name="renderer">Drawing renderer.</param>
        /// <param name="backStyle">Style for the tooltip background.</param>
        /// <param name="borderStyle">Style for the tooltip border.</param>
        /// <param name="contentStyle">Style for the tooltip content.</param>
        public VisualPopupToolTip(PaletteRedirect redirector,
                                  IContentValues contentValues,
                                  IRenderer renderer,
                                  PaletteBackStyle backStyle,
                                  PaletteBorderStyle borderStyle,
                                  PaletteContentStyle contentStyle)
            : base(renderer, true)
        {
            Debug.Assert(contentValues != null);

            // Remember references needed later
            _contentValues = contentValues;

            // Create the triple redirector needed by view elements
            _palette = new PaletteTripleMetricRedirect(redirector, backStyle, borderStyle, contentStyle, NeedPaintDelegate);

            // Our view contains background and border with content inside
            _drawDocker = new ViewDrawDocker(_palette.Back, _palette.Border, null);
            _drawContent = new ViewDrawContent(_palette.Content, _contentValues, VisualOrientation.Top);
            _drawDocker.Add(_drawContent, ViewDockStyle.Fill);

            // Create the view manager instance
            ViewManager = new ViewManager(this, _drawDocker);
        }
        /// <summary>
        /// Gets the color border angle.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Angle used for color drawing.</returns>
        public override float GetBorderColorAngle(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteTriple inherit = GetInherit(state);

            return(inherit != null?inherit.PaletteBorder.GetBorderColorAngle(state) : base.GetBorderColorAngle(style, state));
        }
        /// <summary>
        /// Gets the border image style.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Image style value.</returns>
        public override PaletteImageStyle GetBorderImageStyle(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteTriple inherit = GetInherit(state);

            return(inherit != null?inherit.PaletteBorder.GetBorderImageStyle(state) : base.GetBorderImageStyle(style, state));
        }
Exemple #26
0
        /// <summary>
        /// Gets the graphics drawing hint for the border.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>PaletteGraphicsHint value.</returns>
        public override PaletteGraphicsHint GetBorderGraphicsHint(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteDouble inherit = GetInherit(state);

            return(inherit != null?inherit.PaletteBorder.GetBorderGraphicsHint(state) : Target.GetBorderGraphicsHint(style, state));
        }
        /// <summary>
        /// Gets the border width.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Integer width.</returns>
        public override int GetBorderWidth(PaletteBorderStyle style, PaletteState state)
        {
            // We do not provide override values
            if (CommonHelper.IsOverrideState(state))
                return -1;

            switch (style)
            {
                case PaletteBorderStyle.SeparatorLowProfile:
                case PaletteBorderStyle.SeparatorHighInternalProfile:
                case PaletteBorderStyle.SeparatorHighProfile:
                case PaletteBorderStyle.SeparatorCustom1:
                case PaletteBorderStyle.ButtonInputControl:
                case PaletteBorderStyle.ContextMenuInner:
                    return 0;
                case PaletteBorderStyle.ControlClient:
                case PaletteBorderStyle.ControlAlternate:
                case PaletteBorderStyle.ControlGroupBox:
                case PaletteBorderStyle.ControlToolTip:
                case PaletteBorderStyle.ControlRibbon:
                case PaletteBorderStyle.ControlRibbonAppMenu:
                case PaletteBorderStyle.ControlCustom1:
                case PaletteBorderStyle.ContextMenuOuter:
                case PaletteBorderStyle.ContextMenuHeading:
                case PaletteBorderStyle.ContextMenuSeparator:
                case PaletteBorderStyle.ContextMenuItemSplit:
                case PaletteBorderStyle.ContextMenuItemImageColumn:
                case PaletteBorderStyle.ContextMenuItemImage:
                case PaletteBorderStyle.ContextMenuItemHighlight:
                case PaletteBorderStyle.InputControlStandalone:
                case PaletteBorderStyle.InputControlRibbon:
                case PaletteBorderStyle.InputControlCustom1:
                case PaletteBorderStyle.FormMain:
                case PaletteBorderStyle.FormCustom1:
                case PaletteBorderStyle.HeaderPrimary:
                case PaletteBorderStyle.HeaderDockInactive:
                case PaletteBorderStyle.HeaderDockActive:
                case PaletteBorderStyle.HeaderCalendar:
                case PaletteBorderStyle.HeaderSecondary:
                case PaletteBorderStyle.HeaderForm:
                case PaletteBorderStyle.HeaderCustom1:
                case PaletteBorderStyle.HeaderCustom2:
                case PaletteBorderStyle.TabHighProfile:
                case PaletteBorderStyle.TabStandardProfile:
                case PaletteBorderStyle.TabLowProfile:
                case PaletteBorderStyle.TabOneNote:
                case PaletteBorderStyle.TabDock:
                case PaletteBorderStyle.TabDockAutoHidden:
                case PaletteBorderStyle.TabCustom1:
                case PaletteBorderStyle.TabCustom2:
                case PaletteBorderStyle.TabCustom3:
                case PaletteBorderStyle.ButtonStandalone:
                case PaletteBorderStyle.ButtonGallery:
                case PaletteBorderStyle.ButtonAlternate:
                case PaletteBorderStyle.ButtonLowProfile:
                case PaletteBorderStyle.ButtonBreadCrumb:
                case PaletteBorderStyle.ButtonListItem:
                case PaletteBorderStyle.ButtonCommand:
                case PaletteBorderStyle.ButtonButtonSpec:
                case PaletteBorderStyle.ButtonCalendarDay:
                case PaletteBorderStyle.ButtonCluster:
                case PaletteBorderStyle.ButtonNavigatorStack:
                case PaletteBorderStyle.ButtonNavigatorOverflow:
                case PaletteBorderStyle.ButtonNavigatorMini:
                case PaletteBorderStyle.ButtonForm:
                case PaletteBorderStyle.ButtonFormClose:
                case PaletteBorderStyle.ButtonCustom1:
                case PaletteBorderStyle.ButtonCustom2:
                case PaletteBorderStyle.ButtonCustom3:
                case PaletteBorderStyle.GridHeaderColumnList:
                case PaletteBorderStyle.GridHeaderColumnSheet:
                case PaletteBorderStyle.GridHeaderColumnCustom1:
                case PaletteBorderStyle.GridHeaderRowList:
                case PaletteBorderStyle.GridHeaderRowSheet:
                case PaletteBorderStyle.GridHeaderRowCustom1:
                case PaletteBorderStyle.GridDataCellList:
                case PaletteBorderStyle.GridDataCellSheet:
                case PaletteBorderStyle.GridDataCellCustom1:
                    return 1;
                default:
                    throw new ArgumentOutOfRangeException("style");
            }
        }
        /// <summary>
        /// Gets the second border color.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Color value.</returns>
        public override Color GetBorderColor2(PaletteBorderStyle style, PaletteState state)
        {
            if (CommonHelper.IsOverrideState(state))
            {
                // Check for the calendar day today override
                if (state == PaletteState.TodayOverride)
                    if (style == PaletteBorderStyle.ButtonCalendarDay)
                    {
                        if (state == PaletteState.Disabled)
                            return _disabledBorder;
                        else
                            return _todayBorder;
                    }

                return Color.Empty;
            }

            switch (style)
            {
                case PaletteBorderStyle.TabHighProfile:
                case PaletteBorderStyle.TabStandardProfile:
                case PaletteBorderStyle.TabLowProfile:
                case PaletteBorderStyle.TabOneNote:
                case PaletteBorderStyle.TabCustom1:
                case PaletteBorderStyle.TabCustom2:
                case PaletteBorderStyle.TabCustom3:
                    switch (state)
                    {
                        case PaletteState.Disabled:
                            if (style == PaletteBorderStyle.TabLowProfile)
                                return Color.Empty;
                            else
                                return _disabledBorder;
                        case PaletteState.Normal:
                        case PaletteState.Tracking:
                        case PaletteState.Pressed:
                            if (style == PaletteBorderStyle.TabLowProfile)
                                return Color.Empty;
                            else
                                return _ribbonColors[(int)SchemeOfficeColors.ButtonNormalBorder];
                        case PaletteState.CheckedNormal:
                        case PaletteState.CheckedPressed:
                        case PaletteState.CheckedTracking:
                            return _ribbonColors[(int)SchemeOfficeColors.ControlBorder];
                        default:
                            throw new ArgumentOutOfRangeException("state");
                    }
                case PaletteBorderStyle.TabDock:
                    switch (state)
                    {
                        case PaletteState.Disabled:
                            return _disabledBorder;
                        case PaletteState.Normal:
                            return _ribbonColors[(int)SchemeOfficeColors.ButtonNormalBorder];
                        case PaletteState.Tracking:
                        case PaletteState.Pressed:
                            return _buttonBorderColors[2];
                        case PaletteState.CheckedNormal:
                        case PaletteState.CheckedPressed:
                        case PaletteState.CheckedTracking:
                            return _ribbonColors[(int)SchemeOfficeColors.ControlBorder];
                        default:
                            throw new ArgumentOutOfRangeException("state");
                    }
                case PaletteBorderStyle.TabDockAutoHidden:
                    switch (state)
                    {
                        case PaletteState.Disabled:
                            return _disabledBorder;
                        case PaletteState.Normal:
                        case PaletteState.CheckedNormal:
                            return _ribbonColors[(int)SchemeOfficeColors.ButtonNormalBorder];
                        case PaletteState.Tracking:
                        case PaletteState.CheckedTracking:
                        case PaletteState.Pressed:
                        case PaletteState.CheckedPressed:
                            return _buttonBorderColors[2];
                        default:
                            throw new ArgumentOutOfRangeException("state");
                    }
                case PaletteBorderStyle.HeaderForm:
                    if (state == PaletteState.Disabled)
                        return _ribbonColors[(int)SchemeOfficeColors.FormBorderHeaderInactive];
                    else
                        return _ribbonColors[(int)SchemeOfficeColors.FormBorderHeaderActive];
                case PaletteBorderStyle.SeparatorLowProfile:
                case PaletteBorderStyle.SeparatorHighInternalProfile:
                case PaletteBorderStyle.SeparatorHighProfile:
                case PaletteBorderStyle.SeparatorCustom1:
                case PaletteBorderStyle.HeaderPrimary:
                case PaletteBorderStyle.HeaderDockInactive:
                case PaletteBorderStyle.HeaderDockActive:
                case PaletteBorderStyle.HeaderSecondary:
                case PaletteBorderStyle.HeaderCustom1:
                case PaletteBorderStyle.HeaderCustom2:
                case PaletteBorderStyle.ControlClient:
                case PaletteBorderStyle.ControlAlternate:
                case PaletteBorderStyle.ControlGroupBox:
                case PaletteBorderStyle.ControlCustom1:
                case PaletteBorderStyle.GridHeaderColumnList:
                case PaletteBorderStyle.GridHeaderColumnSheet:
                case PaletteBorderStyle.GridHeaderColumnCustom1:
                case PaletteBorderStyle.GridHeaderRowList:
                case PaletteBorderStyle.GridHeaderRowSheet:
                case PaletteBorderStyle.GridHeaderRowCustom1:
                    if (state == PaletteState.Disabled)
                        return _disabledBorder;
                    else
                        return _ribbonColors[(int)SchemeOfficeColors.ControlBorder];
                case PaletteBorderStyle.HeaderCalendar:
                    if (state == PaletteState.Disabled)
                        return _ribbonColors[(int)SchemeOfficeColors.HeaderPrimaryBack1];
                    else
                        return _ribbonColors[(int)SchemeOfficeColors.HeaderPrimaryBack2];
                case PaletteBorderStyle.ContextMenuHeading:
                case PaletteBorderStyle.ContextMenuItemImageColumn:
                    return _contextMenuHeadingBorder;
                case PaletteBorderStyle.ContextMenuSeparator:
                case PaletteBorderStyle.ContextMenuItemSplit:
                    switch (state)
                    {
                        case PaletteState.Disabled:
                            return _buttonBorderColors[0];
                        case PaletteState.Tracking:
                            return _buttonBorderColors[2];
                        default:
                            return _contextMenuHeadingBorder;
                    }
                case PaletteBorderStyle.ContextMenuItemImage:
                    return _contextMenuImageBorderChecked;
                case PaletteBorderStyle.InputControlStandalone:
                case PaletteBorderStyle.InputControlRibbon:
                case PaletteBorderStyle.InputControlCustom1:
                    if (state == PaletteState.Disabled)
                        return _ribbonColors[(int)SchemeOfficeColors.InputControlBorderDisabled];
                    else
                        return _ribbonColors[(int)SchemeOfficeColors.InputControlBorderNormal];
                case PaletteBorderStyle.GridDataCellList:
                case PaletteBorderStyle.GridDataCellSheet:
                case PaletteBorderStyle.GridDataCellCustom1:
                    if (state == PaletteState.Disabled)
                        return _disabledBorder;
                    else
                        return _ribbonColors[(int)SchemeOfficeColors.GridDataCellBorder];
                case PaletteBorderStyle.ControlRibbon:
                    if (state == PaletteState.Disabled)
                        return _disabledBorder;
                    else
                        return _ribbonColors[(int)SchemeOfficeColors.RibbonGroupsArea1];
                case PaletteBorderStyle.ControlRibbonAppMenu:
                    if (state == PaletteState.Disabled)
                        return _disabledBorder;
                    else
                        return _ribbonColors[(int)SchemeOfficeColors.AppButtonBorder];
                case PaletteBorderStyle.ContextMenuOuter:
                    return _contextMenuBorder;
                case PaletteBorderStyle.ContextMenuInner:
                    return _contextMenuInnerBack;
                case PaletteBorderStyle.ControlToolTip:
                    if (state == PaletteState.Disabled)
                        return _disabledBorder;
                    else
                        return _toolTipBorder;
                case PaletteBorderStyle.FormMain:
                case PaletteBorderStyle.FormCustom1:
                    if (state == PaletteState.Disabled)
                        return _ribbonColors[(int)SchemeOfficeColors.FormBorderInactive];
                    else
                        return _ribbonColors[(int)SchemeOfficeColors.FormBorderActive];
                case PaletteBorderStyle.ButtonForm:
                case PaletteBorderStyle.ButtonFormClose:
                    switch (state)
                    {
                        case PaletteState.Disabled:
                        case PaletteState.Normal:
                        case PaletteState.NormalDefaultOverride:
                            return Color.Empty;
                        case PaletteState.CheckedNormal:
                            return _ribbonColors[(int)SchemeOfficeColors.FormButtonBorderCheck];
                        case PaletteState.Tracking:
                        case PaletteState.CheckedTracking:
                            return _ribbonColors[(int)SchemeOfficeColors.FormButtonBorderTrack];
                        case PaletteState.Pressed:
                        case PaletteState.CheckedPressed:
                            return _ribbonColors[(int)SchemeOfficeColors.FormButtonBorderPressed];
                        default:
                            throw new ArgumentOutOfRangeException("state");
                    }
                case PaletteBorderStyle.ButtonGallery:
                    switch (state)
                    {
                        case PaletteState.Disabled:
                            return _disabledBorder;
                        case PaletteState.Normal:
                        case PaletteState.NormalDefaultOverride:
                        case PaletteState.CheckedNormal:
                            return _ribbonColors[(int)SchemeOfficeColors.RibbonGalleryBorder];
                        case PaletteState.Tracking:
                        case PaletteState.CheckedTracking:
                            return _buttonBorderColors[1];
                        case PaletteState.Pressed:
                        case PaletteState.CheckedPressed:
                            return _buttonBorderColors[3];
                        default:
                            throw new ArgumentOutOfRangeException("state");
                    }
                case PaletteBorderStyle.ButtonStandalone:
                case PaletteBorderStyle.ButtonAlternate:
                case PaletteBorderStyle.ButtonLowProfile:
                case PaletteBorderStyle.ButtonBreadCrumb:
                case PaletteBorderStyle.ButtonListItem:
                case PaletteBorderStyle.ButtonCommand:
                case PaletteBorderStyle.ButtonButtonSpec:
                case PaletteBorderStyle.ButtonCluster:
                case PaletteBorderStyle.ButtonNavigatorStack:
                case PaletteBorderStyle.ButtonNavigatorOverflow:
                case PaletteBorderStyle.ButtonNavigatorMini:
                case PaletteBorderStyle.ButtonCustom1:
                case PaletteBorderStyle.ButtonCustom2:
                case PaletteBorderStyle.ButtonCustom3:
                case PaletteBorderStyle.ButtonInputControl:
                case PaletteBorderStyle.ContextMenuItemHighlight:
                    switch (state)
                    {
                        case PaletteState.Disabled:
                            return _buttonBorderColors[0];
                        case PaletteState.Normal:
                            if (style == PaletteBorderStyle.ButtonCluster)
                                return _ribbonColors[(int)SchemeOfficeColors.ButtonClusterButtonBorder2];
                            else
                                return _ribbonColors[(int)SchemeOfficeColors.ButtonNormalBorder];
                        case PaletteState.NormalDefaultOverride:
                            return _ribbonColors[(int)SchemeOfficeColors.ButtonNormalDefaultBorder];
                        case PaletteState.CheckedNormal:
                            return _buttonBorderColors[6];
                        case PaletteState.Tracking:
                            return _buttonBorderColors[2];
                        case PaletteState.Pressed:
                        case PaletteState.CheckedPressed:
                            if (style == PaletteBorderStyle.ButtonAlternate)
                                return _ribbonColors[(int)SchemeOfficeColors.AlternatePressedBorder2];
                            else
                                return _buttonBorderColors[4];
                        case PaletteState.CheckedTracking:
                            return _buttonBorderColors[4];
                        default:
                            throw new ArgumentOutOfRangeException("state");
                    }
                case PaletteBorderStyle.ButtonCalendarDay:
                    switch (state)
                    {
                        case PaletteState.Disabled:
                            return _disabledBack;
                        case PaletteState.Normal:
                            return _ribbonColors[(int)SchemeOfficeColors.ButtonNormalBack1];
                        case PaletteState.NormalDefaultOverride:
                            return _ribbonColors[(int)SchemeOfficeColors.ButtonNormalDefaultBack1];
                        case PaletteState.CheckedNormal:
                            return _buttonBackColors[6];
                        case PaletteState.Tracking:
                            return _buttonBackColors[2];
                        case PaletteState.Pressed:
                        case PaletteState.CheckedPressed:
                            return _buttonBackColors[4];
                        case PaletteState.CheckedTracking:
                            return _buttonBackColors[8];
                        default:
                            throw new ArgumentOutOfRangeException("state");
                    }
                default:
                    throw new ArgumentOutOfRangeException("style");
            }
        }
Exemple #29
0
        /// <summary>
        /// Gets a border image.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Image instance.</returns>
        public override Image GetBorderImage(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteDouble inherit = GetInherit(state);

            return(inherit != null?inherit.PaletteBorder.GetBorderImage(state) : Target.GetBorderImage(style, state));
        }
Exemple #30
0
 /// <summary>
 /// Initialize a new instance of the PaletteTripleRedirect class.
 /// </summary>
 /// <param name="backStyle">Initial background style.</param>
 /// <param name="borderStyle">Initial border style.</param>
 /// <param name="contentStyle">Initial content style.</param>
 public PaletteTripleRedirect(PaletteBackStyle backStyle,
                              PaletteBorderStyle borderStyle,
                              PaletteContentStyle contentStyle)
     : this(null, backStyle, borderStyle, contentStyle, null)
 {
 }
Exemple #31
0
 /// <summary>
 /// Gets the border corner rounding.
 /// </summary>
 /// <param name="style">Border style.</param>
 /// <param name="state">Palette value should be applicable to this state.</param>
 /// <returns>Float rounding.</returns>
 public override float GetBorderRounding(PaletteBorderStyle style, PaletteState state) => Target.GetBorderRounding(style, state);
        /// <summary>
        /// Gets the color border alignment.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Color alignment style.</returns>
        public override PaletteRectangleAlign GetBorderColorAlign(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteTriple inherit = GetInherit(state);

            return(inherit != null?inherit.PaletteBorder.GetBorderColorAlign(state) : base.GetBorderColorAlign(style, state));
        }
        /// <summary>
        /// Gets the color border angle.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Angle used for color drawing.</returns>
        public override float GetBorderColorAngle(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteBorder inherit = GetInherit(state);

            return(inherit?.GetBorderColorAngle(state) ?? Target.GetBorderColorAngle(style, state));
        }
        /// <summary>
        /// Gets a value indicating which borders to draw.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>PaletteDrawBorders value.</returns>
        public override PaletteDrawBorders GetBorderDrawBorders(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteBorder inherit = GetInherit(state);

            return(inherit?.GetBorderDrawBorders(state) ?? Target.GetBorderDrawBorders(style, state));
        }
Exemple #35
0
 /// <summary>
 /// Initialize a new instance of the PaletteBorderInheritRedirect class.
 /// </summary>
 /// <param name="redirect">Source for inherit requests.</param>
 /// <param name="style">Style used in requests.</param>
 public PaletteBorderInheritRedirect(PaletteRedirect redirect,
                                     PaletteBorderStyle style)
 {
     _redirect = redirect;
     Style     = style;
 }
        /// <summary>
        /// Gets a value indicating if border should be drawn.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>InheritBool value.</returns>
        public override InheritBool GetBorderDraw(PaletteBorderStyle style, PaletteState state)
        {
            PaletteBorderEdge inherit = GetInherit(state);

            return(inherit?.GetBackDraw(state) ?? Target.GetBorderDraw(style, state));
        }
 /// <summary>
 /// Gets the border corner rounding.
 /// </summary>
 /// <param name="style">Border style.</param>
 /// <param name="state">Palette value should be applicable to this state.</param>
 /// <returns>Integer rounding.</returns>
 public override int GetBorderRounding(PaletteBorderStyle style, PaletteState state)
 {
     return Target.GetBorderRounding(style, state);
 }
        /// <summary>
        /// Gets the image border alignment.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Image alignment style.</returns>
        public override PaletteRectangleAlign GetBorderImageAlign(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteBorder inherit = GetInherit(state);

            return(inherit?.GetBorderImageAlign(state) ?? Target.GetBorderImageAlign(style, state));
        }
Exemple #39
0
 private void ResetGroupBorderStyle()
 {
     GroupBorderStyle = PaletteBorderStyle.ControlGroupBox;
 }
Exemple #40
0
        /// <summary>
        /// Gets the image border alignment.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Image alignment style.</returns>
        public override PaletteRectangleAlign GetBorderImageAlign(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteDouble inherit = GetInherit(state);

            return(inherit != null?inherit.PaletteBorder.GetBorderImageAlign(state) : Target.GetBorderImageAlign(style, state));
        }
Exemple #41
0
 /// <summary>
 /// Update the palette styles to the separator style.
 /// </summary>
 /// <param name="backStyle">New back style.</param>
 /// <param name="borderStyle">New border style.</param>
 public void SetStyles(PaletteBackStyle backStyle,
                       PaletteBorderStyle borderStyle)
 {
     BackStyle   = backStyle;
     BorderStyle = borderStyle;
 }
        /// <summary>
        /// Gets the border width.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Integer width.</returns>
        public override int GetBorderWidth(PaletteBorderStyle style, PaletteState state)
        {
            PaletteBorderEdge inherit = GetInherit(state);

            if (inherit != null)
                return inherit.GetBorderWidth(state);
            else
                return Target.GetBorderWidth(style, state);
        }
Exemple #43
0
 /// <summary>
 /// Initialize a new instance of the PaletteDoubleRedirect class.
 /// </summary>
 /// <param name="redirect">Inheritence redirection instance.</param>
 /// <param name="backStyle">Initial background style.</param>
 /// <param name="borderStyle">Initial border style.</param>
 public PaletteDoubleRedirect(PaletteRedirect redirect,
                              PaletteBackStyle backStyle,
                              PaletteBorderStyle borderStyle)
     : this(redirect, backStyle, borderStyle, null)
 {
 }
Exemple #44
0
        /// <summary>
        /// Gets the border corner rounding.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Float rounding.</returns>
        public override float GetBorderRounding(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteDouble inherit = GetInherit(state);

            return(inherit != null?inherit.PaletteBorder.GetBorderRounding(state) : Target.GetBorderRounding(style, state));
        }
 /// <summary>
 /// Gets the border corner rounding.
 /// </summary>
 /// <param name="style">Border style.</param>
 /// <param name="state">Palette value should be applicable to this state.</param>
 /// <returns>Integer rounding.</returns>
 public override int GetBorderRounding(PaletteBorderStyle style, PaletteState state)
 {
     return(Target.GetBorderRounding(style, state));
 }
        /// <summary>
        /// Gets the color border drawing style.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Color drawing style.</returns>
        public override PaletteColorStyle GetBorderColorStyle(PaletteBorderStyle style, PaletteState state)
        {
            // We do not provide override values
            if (CommonHelper.IsOverrideStateExclude(state, PaletteState.NormalDefaultOverride))
                return PaletteColorStyle.Inherit;

            switch (style)
            {
                case PaletteBorderStyle.SeparatorLowProfile:
                case PaletteBorderStyle.SeparatorHighInternalProfile:
                case PaletteBorderStyle.SeparatorHighProfile:
                case PaletteBorderStyle.SeparatorCustom1:
                case PaletteBorderStyle.HeaderPrimary:
                case PaletteBorderStyle.HeaderDockInactive:
                case PaletteBorderStyle.HeaderDockActive:
                case PaletteBorderStyle.HeaderSecondary:
                case PaletteBorderStyle.HeaderCustom1:
                case PaletteBorderStyle.HeaderCustom2:
                case PaletteBorderStyle.TabHighProfile:
                case PaletteBorderStyle.TabStandardProfile:
                case PaletteBorderStyle.TabLowProfile:
                case PaletteBorderStyle.TabOneNote:
                case PaletteBorderStyle.TabCustom1:
                case PaletteBorderStyle.TabCustom2:
                case PaletteBorderStyle.TabCustom3:
                    return PaletteColorStyle.Sigma;
                case PaletteBorderStyle.TabDock:
                    switch (state)
                    {
                        case PaletteState.Tracking:
                        case PaletteState.Pressed:
                            return PaletteColorStyle.Solid;
                        default:
                            return PaletteColorStyle.Sigma;
                    }
                case PaletteBorderStyle.TabDockAutoHidden:
                    switch (state)
                    {
                        case PaletteState.Tracking:
                        case PaletteState.CheckedTracking:
                        case PaletteState.Pressed:
                        case PaletteState.CheckedPressed:
                            return PaletteColorStyle.Solid;
                        default:
                            return PaletteColorStyle.Sigma;
                    }
                case PaletteBorderStyle.ControlClient:
                case PaletteBorderStyle.ControlAlternate:
                case PaletteBorderStyle.ControlGroupBox:
                case PaletteBorderStyle.ControlToolTip:
                case PaletteBorderStyle.ControlRibbon:
                case PaletteBorderStyle.ControlRibbonAppMenu:
                case PaletteBorderStyle.ControlCustom1:
                case PaletteBorderStyle.ContextMenuOuter:
                case PaletteBorderStyle.ContextMenuInner:
                case PaletteBorderStyle.ContextMenuHeading:
                case PaletteBorderStyle.ContextMenuItemImageColumn:
                case PaletteBorderStyle.ContextMenuItemImage:
                case PaletteBorderStyle.InputControlStandalone:
                case PaletteBorderStyle.InputControlRibbon:
                case PaletteBorderStyle.InputControlCustom1:
                case PaletteBorderStyle.FormMain:
                case PaletteBorderStyle.FormCustom1:
                case PaletteBorderStyle.HeaderForm:
                case PaletteBorderStyle.GridHeaderColumnList:
                case PaletteBorderStyle.GridHeaderColumnSheet:
                case PaletteBorderStyle.GridHeaderColumnCustom1:
                case PaletteBorderStyle.GridHeaderRowList:
                case PaletteBorderStyle.GridHeaderRowSheet:
                case PaletteBorderStyle.GridHeaderRowCustom1:
                case PaletteBorderStyle.GridDataCellList:
                case PaletteBorderStyle.GridDataCellSheet:
                case PaletteBorderStyle.GridDataCellCustom1:
                case PaletteBorderStyle.HeaderCalendar:
                case PaletteBorderStyle.ButtonCalendarDay:
                    return PaletteColorStyle.Solid;
                case PaletteBorderStyle.ContextMenuSeparator:
                case PaletteBorderStyle.ContextMenuItemSplit:
                    if (state == PaletteState.Tracking)
                        return PaletteColorStyle.Sigma;
                    else
                        return PaletteColorStyle.Solid;
                case PaletteBorderStyle.ButtonStandalone:
                case PaletteBorderStyle.ButtonGallery:
                case PaletteBorderStyle.ButtonAlternate:
                case PaletteBorderStyle.ButtonLowProfile:
                case PaletteBorderStyle.ButtonBreadCrumb:
                case PaletteBorderStyle.ButtonListItem:
                case PaletteBorderStyle.ButtonCommand:
                case PaletteBorderStyle.ButtonButtonSpec:
                case PaletteBorderStyle.ButtonCluster:
                case PaletteBorderStyle.ButtonNavigatorStack:
                case PaletteBorderStyle.ButtonNavigatorOverflow:
                case PaletteBorderStyle.ButtonNavigatorMini:
                case PaletteBorderStyle.ButtonForm:
                case PaletteBorderStyle.ButtonFormClose:
                case PaletteBorderStyle.ButtonCustom1:
                case PaletteBorderStyle.ButtonCustom2:
                case PaletteBorderStyle.ButtonCustom3:
                case PaletteBorderStyle.ButtonInputControl:
                case PaletteBorderStyle.ContextMenuItemHighlight:
                    switch (state)
                    {
                        case PaletteState.Normal:
                            if (style == PaletteBorderStyle.ButtonCluster)
                                return PaletteColorStyle.Sigma;
                            else
                                return PaletteColorStyle.Solid;
                        case PaletteState.Disabled:
                        case PaletteState.NormalDefaultOverride:
                            return PaletteColorStyle.Solid;
                        case PaletteState.Pressed:
                        case PaletteState.CheckedNormal:
                        case PaletteState.CheckedTracking:
                        case PaletteState.CheckedPressed:
                            return PaletteColorStyle.Linear;
                        default:
                            return PaletteColorStyle.Sigma;
                    }
                default:
                    throw new ArgumentOutOfRangeException("style");
            }
        }
 /// <summary>
 /// Gets a value indicating which borders to draw.
 /// </summary>
 /// <param name="style">Border style.</param>
 /// <param name="state">Palette value should be applicable to this state.</param>
 /// <returns>PaletteDrawBorders value.</returns>
 public override PaletteDrawBorders GetBorderDrawBorders(PaletteBorderStyle style, PaletteState state)
 {
     return(Target.GetBorderDrawBorders(style, state));
 }
        /// <summary>
        /// Gets the graphics drawing hint for the border.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>PaletteGraphicsHint value.</returns>
        public override PaletteGraphicsHint GetBorderGraphicsHint(PaletteBorderStyle style, PaletteState state)
        {
            PaletteBorderEdge inherit = GetInherit(state);

            return(inherit?.GetBackGraphicsHint(state) ?? Target.GetBorderGraphicsHint(style, state));
        }
        /// <summary>
        /// Gets the color border drawing style.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Color drawing style.</returns>
        public override PaletteColorStyle GetBorderColorStyle(PaletteBorderStyle style, PaletteState state)
        {
            PaletteBorderEdge inherit = GetInherit(state);

            return(inherit?.GetBackColorStyle(state) ?? Target.GetBorderColorStyle(style, state));
        }
 /// <summary>
 /// Initialize a new instance of the PaletteTripleRedirect class.
 /// </summary>
 /// <param name="backStyle">Initial background style.</param>
 /// <param name="borderStyle">Initial border style.</param>
 /// <param name="contentStyle">Initial content style.</param>
 public PaletteTripleRedirect(PaletteBackStyle backStyle,
                              PaletteBorderStyle borderStyle,
                              PaletteContentStyle contentStyle)
     : this(null, backStyle, borderStyle, contentStyle, null)
 {
 }
        /// <summary>
        /// Gets the color border alignment.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Color alignment style.</returns>
        public override PaletteRectangleAlign GetBorderColorAlign(PaletteBorderStyle style, PaletteState state)
        {
            PaletteBorderEdge inherit = GetInherit(state);

            return(inherit?.GetBackColorAlign(state) ?? Target.GetBorderColorAlign(style, state));
        }
 /// <summary>
 /// Update each individual style.
 /// </summary>
 /// <param name="backStyle">New background style.</param>
 /// <param name="borderStyle">New border style.</param>
 /// <param name="contentStyle">New content style.</param>
 public void SetStyles(PaletteBackStyle backStyle,
                       PaletteBorderStyle borderStyle,
                       PaletteContentStyle contentStyle)
 {
     BackStyle = backStyle;
     BorderStyle = borderStyle;
     ContentStyle = contentStyle;
 }
 private void ResetControlBorderStyle()
 {
     ControlBorderStyle = PaletteBorderStyle.ControlClient;
 }
        /// <summary>
        /// Gets the border corner rounding.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Integer rounding.</returns>
        public override int GetBorderRounding(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteBorder inherit = GetInherit(state);

            return(inherit?.GetBorderRounding(state) ?? Target.GetBorderRounding(style, state));
        }
        /// <summary>
        /// Gets the border width.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Integer width.</returns>
        public override int GetBorderWidth(PaletteBorderStyle style, PaletteState state)
        {
            PaletteBorderEdge inherit = GetInherit(state);

            return(inherit?.GetBorderWidth(state) ?? Target.GetBorderWidth(style, state));
        }
        /// <summary>
        /// Gets the border image style.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>Image style value.</returns>
        public override PaletteImageStyle GetBorderImageStyle(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteBorder inherit = GetInherit(state);

            return(inherit?.GetBorderImageStyle(state) ?? Target.GetBorderImageStyle(style, state));
        }
        /// <summary>
        /// Gets a value indicating if border should be drawn.
        /// </summary>
        /// <param name="style">Border style.</param>
        /// <param name="state">Palette value should be applicable to this state.</param>
        /// <returns>InheritBool value.</returns>
        public override InheritBool GetBorderDraw(PaletteBorderStyle style, PaletteState state)
        {
            IPaletteTriple inherit = GetInherit(state);

            return(inherit != null?inherit.PaletteBorder.GetBorderDraw(state) : base.GetBorderDraw(style, state));
        }