示例#1
0
        /// <summary>
        /// Constructor
        /// </summary>
        public DotCoolCheckBox()
            : base()
        {
            try
            {
                m_BorderColorSettings = new DotCoolCheckBoxBorderColorSettings(m_BorderSettingsList);

                VisualSettingProperties <BorderVisualSettings> BorderVisSettings =
                    VisualSettingPropGenerator.CreateBorderVisualSettings(
                        CoolShape.Diamond, Color.Transparent, new Size(10, 10),
                        new Point(10, 10), new Point(2, 2), 1);

                m_CheckBorderSettingsList  = new DotCoolCtlBorderSettingsList(this, true, BorderVisSettings);
                m_CheckBorderColorSettings = new DotCoolCheckBoxBorderColorSettings(m_CheckBorderSettingsList);

                for (VisualSettingEnum setting = VisualSettingEnum.Normal; setting <= VisualSettingEnum.Indeterminate; setting++)
                {
                    m_BorderSettingsList[setting].BorderShape = CoolShape.Square;
                }//next iSetting

                m_CheckBorderSettingsList[VisualSettingEnum.Normal].BorderColor = Color.Black;
            }
            catch (Exception err)
            {
                ErrorHandler.ShowErrorMessage(err, "Error in Constructor function of DotCoolCheckBox class.");
            }
        }
示例#2
0
        /// <summary>
        /// Generates a TextVisualSettings properties class object and initializes each of its associated properties of the text visual settings with
        /// default values.  A different visual setting will be stored for each of the various states each property can be accessed in their associated control.
        /// </summary>
        /// <returns></returns>
        public static VisualSettingProperties <TextVisualSettings> CreateTextVisualSettings(
            Font DefaultFont, Color DefaultForeColor, ContentAlignment DefaultTextAlign,
            Point ptDefaultTextOffset, bool blDefaultEnableText)
        {
            try
            {
                VisualSettingProperties <TextVisualSettings> textSettingProps = new VisualSettings.VisualSettingProperties <VisualSettings.TextVisualSettings>();

                for (VisualSettingEnum setting = VisualSettingEnum.Normal; setting <= VisualSettingEnum.Indeterminate; setting++)
                {
                    TextVisualSettings textVisSetting =
                        new TextVisualSettings
                    {
                        Font       = DefaultFont,
                        ForeColor  = DefaultForeColor,
                        TextAlign  = DefaultTextAlign,
                        TextOffset = ptDefaultTextOffset,
                        EnableText = (setting != VisualSettingEnum.Normal) ? blDefaultEnableText : true
                    };

                    textSettingProps.AddSetting(setting, textVisSetting);
                }//next i

                return(textSettingProps);
            }
            catch (Exception err)
            {
                ErrorHandler.ShowErrorMessage(err, "Error in CreateTextVisualSettings Overload 1 function of VisualSettingPropGenerator class.");
                return(null);
            }
        }
示例#3
0
        /// <summary>
        /// Generates an ImageVisualSettings properties class object and initializes each of its associated properties of the image visual settings with
        /// default values.  A different visual setting will be stored for each of the various states each property can be accessed in their associated control.
        /// </summary>
        public static VisualSettingProperties <ImageVisualSettings> CreateImageVisualSettings(
            Image DefaultImage, ContentAlignment DefaultImageAlign,
            Point ptDefaultImageOffset, Color DefaultTransparentColor,
            bool blDefaultTransparent, CoolImageSizeMode DefaultSizeMode,
            bool DefaultEnableImage)
        {
            try
            {
                VisualSettingProperties <ImageVisualSettings> imgSettingProps = new VisualSettingProperties <ImageVisualSettings>();

                for (VisualSettingEnum setting = VisualSettingEnum.Normal; setting <= VisualSettingEnum.Indeterminate; setting++)
                {
                    ImageVisualSettings imgVisSetting =
                        new ImageVisualSettings
                    {
                        Image            = DefaultImage,
                        ImageAlign       = DefaultImageAlign,
                        ImageOffset      = ptDefaultImageOffset,
                        TransparentColor = DefaultTransparentColor,
                        Transparent      = blDefaultTransparent,
                        SizeMode         = DefaultSizeMode,
                        EnableImage      = (setting != VisualSettingEnum.Normal) ? DefaultEnableImage : true
                    };

                    imgSettingProps.AddSetting(setting, imgVisSetting);
                }//next i

                return(imgSettingProps);
            }
            catch (Exception err)
            {
                ErrorHandler.ShowErrorMessage(err, "Error in CreateImageVisualSettings Overload 1 function of VisualSettingPropGenerator class.");
                return(null);
            }
        }
示例#4
0
        /// <summary>
        /// Generates a GradientVisualSettings properties class object and initializes each of its associated properties of the gradient visual settings with
        /// default values.  A different visual setting will be stored for each of the various states each property can be accessed in their associated control.
        /// </summary>
        /// <param name="DefaultGradColor1"></param>
        /// <param name="DefaultGradColor2"></param>
        /// <param name="DefaultGradType"></param>
        /// <param name="fDefaultGradSpan"></param>
        /// <param name="blUseDefaultGradSpan"></param>
        /// <param name="ptDefaultGradOffset"></param>
        /// <param name="blDrawGradient"></param>
        /// <returns></returns>
        public static VisualSettingProperties <GradientVisualSettings> CreateGradientVisualSettings(
            Color DefaultGradColor1, Color DefaultGradColor2,
            CoolGradientType DefaultGradType, float fDefaultGradSpan,
            bool blUseDefaultGradSpan, Point ptDefaultGradOffset, bool blDrawGradient)
        {
            try
            {
                VisualSettingProperties <GradientVisualSettings> gradSettingProps = new VisualSettings.VisualSettingProperties <VisualSettings.GradientVisualSettings>();

                for (int i = 0; i <= 5; i++)
                {
                    VisualSettingEnum      setting        = (VisualSettingEnum)i;
                    GradientVisualSettings gradVisSetting =
                        new GradientVisualSettings
                    {
                        GradientColor1         = DefaultGradColor1,
                        GradientColor2         = DefaultGradColor2,
                        GradientType           = DefaultGradType,
                        GradientSpan           = fDefaultGradSpan,
                        UseDefaultGradientSpan = blUseDefaultGradSpan,
                        GradientOffset         = ptDefaultGradOffset,
                        DrawGradient           = blDrawGradient
                    };

                    gradSettingProps.AddSetting(setting, gradVisSetting);
                }//next i

                return(gradSettingProps);
            }
            catch (Exception err)
            {
                ErrorHandler.ShowErrorMessage(err, "Error in CreateGradientVisualSettings Overload 1 function of VisualSettingPropGenerator class.");
                return(null);
            }
        }
示例#5
0
        /// <summary>
        /// Generates a BorderVisualSettings properties class object and initializes each of its associated properties of the border visual settings with
        /// default values.  A different visual setting will be stored for each of the various states each property can be accessed in their associated control.
        /// </summary>
        /// <param name="DefaultBorderShape"></param>
        /// <param name="DefaultBorderColor"></param>
        /// <param name="DefaultBorderSize"></param>
        /// <param name="DefaultBorderRadius"></param>
        /// <param name="DefaultBorderOffset"></param>
        /// <param name="DefaultBorderWidth"></param>
        /// <returns></returns>
        public static VisualSettingProperties <BorderVisualSettings> CreateBorderVisualSettings(
            CoolShape DefaultBorderShape, Color DefaultBorderColor,
            Size DefaultBorderSize, Point DefaultBorderRadius, Point DefaultBorderOffset,
            int DefaultBorderWidth)
        {
            try
            {
                VisualSettingProperties <BorderVisualSettings> borderSettingProps = new VisualSettings.VisualSettingProperties <VisualSettings.BorderVisualSettings>();

                for (int i = 0; i <= 5; i++)
                {
                    VisualSettingEnum    setting          = (VisualSettingEnum)i;
                    BorderVisualSettings borderVisSetting =
                        new BorderVisualSettings
                    {
                        BorderShape  = DefaultBorderShape,
                        BorderColor  = DefaultBorderColor,
                        BorderSize   = DefaultBorderSize,
                        BorderRadius = DefaultBorderRadius,
                        BorderOffset = DefaultBorderOffset,
                        BorderWidth  = DefaultBorderWidth
                    };

                    borderSettingProps.AddSetting(setting, borderVisSetting);
                }//next i

                return(borderSettingProps);
            }
            catch (Exception err)
            {
                ErrorHandler.ShowErrorMessage(err, "Error in CreateBorderVisualSettings Overload 1 function of VisualSettingPropGenerator class.");
                return(null);
            }
        }
示例#6
0
 /// <summary>
 /// Gets/Sets the appropriate visual setting stored in the VisualSettingProperties class according to the specified state of the visual setting.
 /// A set of different settings for each specific type of VisualSetting will be stored in the VisualSettingsProperty class that are associated
 /// with the various states that the setting can be accessed.
 /// </summary>
 /// <param name="setting"></param>
 /// <returns></returns>
 public TSetting this[VisualSettingEnum setting]
 {
     get
     {
         return(m_Settings[setting]);
     }
     set
     {
         m_Settings[setting] = value;
     }
 }
示例#7
0
 /// <summary>
 /// Adds a visual setting to the VisualSettingsProperties class's visual settings collection.  The visual setting will be added and keyed according to
 /// the state associated with the properties of that setting.
 /// </summary>
 /// <param name="setting"></param>
 /// <param name="data"></param>
 public void AddSetting(VisualSettingEnum setting, TSetting data)
 {
     try
     {
         m_Settings.Add(setting, data);
     }
     catch (Exception err)
     {
         ErrorHandler.ShowErrorMessage(err, "Error in AddSetting function of VisualSettingProperties class.");
     }
 }
示例#8
0
 /// <summary>
 /// Gets the set of gradient background control settings for the control state specified in the function's setting parameter.
 /// </summary>
 /// <param name="setting"></param>
 /// <returns></returns>
 public virtual DotCoolCtlGradientSettings GetBackGradientSettings(VisualSettingEnum setting)
 {
     try
     {
         return(m_GradBackSettingsList[setting]);
     }
     catch (Exception err)
     {
         ErrorHandler.ShowErrorMessage(err, "Error in GetBackGradientSettings function of DotCoolPanel class.");
         return(null);
     }
 }
示例#9
0
 /// <summary>
 /// When any property contained in the text settings list is changed, the SettingChanged event will be raised to allow the
 /// DotCoolNativeButton control to update the control's UI.  It is necessary to update the UI through the SettingChanged event since the
 /// DotCoolNativeButton control is not owner-drawn and uses the derived .NET button control's background image property to draw its
 /// gradient background.
 /// </summary>
 /// <param name="arg1"></param>
 /// <param name="arg2"></param>
 /// <param name="arg3"></param>
 private void TextSettingsList_SettingChanged(VisualSettingEnum arg1, string arg2, object arg3)
 {
     try
     {
         UpdateButtonText();
         this.Refresh();
     }
     catch (Exception err)
     {
         ErrorHandler.ShowErrorMessage(err, "Error in TextSettingsList_SettingChanged function of DotCoolNativeButton control.");
     }
 }
示例#10
0
 /// <summary>
 /// Gets the set of control text/caption settings for the control state specified in the function's setting parameter.
 /// </summary>
 /// <param name="setting"></param>
 /// <returns></returns>
 public DotCoolCtlTextSettings GetTextSettings(VisualSettingEnum setting)
 {
     try
     {
         return(m_TextSettingsList[setting]);
     }
     catch (Exception err)
     {
         ErrorHandler.ShowErrorMessage(err, "Error in GetTextSettings function of DotCoolNativeButton class.");
         return(null);
     }
 }
示例#11
0
 /// <summary>
 /// When any property contained in the background gradient settings list is changed, the SettingChanged event will be raised to allow the
 /// DotCoolNativeButton control to update the control's UI.  It is necessary to update the UI through the SettingChanged event since the
 /// DotCoolNativeButton control will manipulate specific text related properties of the .NET button control to integrate the DotCool visual
 /// text settings in the control.
 /// </summary>
 /// <param name="arg1"></param>
 /// <param name="arg2"></param>
 /// <param name="arg3"></param>
 private void GradBackSettingsList_SettingChanged(VisualSettingEnum arg1, string arg2, object arg3)
 {
     try
     {
         if (DrawBackgroundGradient)
         {
             DrawGradientBackgroundImage();
         }
     }
     catch (Exception err)
     {
         ErrorHandler.ShowErrorMessage(err, "Error in GradBackSettingsList_SettingChanged function of DotCoolNativeButton control.");
     }
 }
示例#12
0
        /// <summary>
        /// Copies all of the properties and settings that are specific to the base DotCoolCheckBase class from one derived DotCoolCheckBase control to
        /// another derived DotCoolCheckBase control.
        /// </summary>
        /// <param name="chbaseClone">The DotCoolCheckBase dervied control that will be cloned from the current DotCoolCheckBase control.</param>
        protected virtual void CloneBase(DotCoolCheckBase chbaseClone)
        {
            try
            {
                base.CloneBase(chbaseClone);

                //Border Width
                chbaseClone.BorderWidth = BorderWidth;

                //Check Symbol Shape
                chbaseClone.CheckShape = CheckShape;

                //Check Symbol Border Color Settings
                chbaseClone.GetCheckBorderColorSettings().BorderColor          = GetCheckBorderColorSettings().BorderColor;
                chbaseClone.GetCheckBorderColorSettings().BorderColorDisabled  = GetCheckBorderColorSettings().BorderColorDisabled;
                chbaseClone.GetCheckBorderColorSettings().BorderColorMouseDown = GetCheckBorderColorSettings().BorderColorMouseDown;
                chbaseClone.GetCheckBorderColorSettings().BorderColorMouseOver = GetCheckBorderColorSettings().BorderColorMouseOver;

                //Check Symbol Size and Position
                chbaseClone.CheckSize        = CheckSize;
                chbaseClone.CheckRadius      = CheckRadius;
                chbaseClone.CheckOffset      = CheckOffset;
                chbaseClone.CheckBorderWidth = CheckBorderWidth;

                //Check Symbol Color/Gradient Settings
                //Background Gradient Settings
                for (VisualSettingEnum setting = VisualSettingEnum.Normal; setting <= VisualSettingEnum.Indeterminate; setting++)
                {
                    DotCoolCtlGradientSettings gradChkSettingsClone = chbaseClone.GetCheckGradientSettings(setting);
                    DotCoolCtlGradientSettings gradChkSettings      = GetCheckGradientSettings(setting);

                    gradChkSettingsClone.GradientColor1         = gradChkSettings.GradientColor1;
                    gradChkSettingsClone.GradientColor2         = gradChkSettings.GradientColor2;
                    gradChkSettingsClone.GradientOffset         = gradChkSettings.GradientOffset;
                    gradChkSettingsClone.GradientSpan           = gradChkSettings.GradientSpan;
                    gradChkSettingsClone.GradientType           = gradChkSettings.GradientType;
                    gradChkSettingsClone.UseDefaultGradientSpan = gradChkSettings.UseDefaultGradientSpan;
                }//next setting

                //Check Setting/Value/Behavior Settings
                chbaseClone.SelectBehavior = SelectBehavior;
            }
            catch (Exception err)
            {
                ErrorHandler.ShowErrorMessage(err, "Error in CloneBase function of DotCoolCheckBase class.");
            }
        }
示例#13
0
        /// <summary>
        /// Constructor
        /// </summary>
        public DotCoolLabel()
            : base()
        {
            try
            {
                m_blFocusOnClick = false;
                this.SetStyle(ControlStyles.Selectable, false);

                SetBorderOffset(new Point(0, 0));

                BorderWidthSettings.BorderWidth = 0;

                for (VisualSettingEnum setting = VisualSettingEnum.Normal; setting <= VisualSettingEnum.Indeterminate; setting++)
                {
                    m_BorderSettingsList[setting].BorderWidth = 0;
                    m_TextSettingsList[setting].TextAlign     = ContentAlignment.TopLeft;
                }//next iSetting
            }
            catch (Exception err)
            {
                ErrorHandler.ShowErrorMessage(err, "Error in Constructor function of DotCoolLabel class.");
            }
        }
示例#14
0
        /// <summary>
        /// Constructor
        /// </summary>
        public DotCoolCheckBase()
            : base()
        {
            try
            {
                m_GradCheckSettingsList = new DotCoolCtlGradientSettingsList(this);

                //m_CheckBorderSettingsList = new DotCoolCtlBorderSettingsList(this);
                //m_BorderColorSettings = new DotCoolControls.DotCoolCheckBaseBorderColorSettings(m_CheckBorderSettingsList);

                for (VisualSettingEnum setting = VisualSettingEnum.Normal; setting <= VisualSettingEnum.Indeterminate; setting++)
                {
                    m_BorderSettingsList[setting].BorderSize   = new Size(14, 14);
                    m_BorderSettingsList[setting].BorderOffset = new Point(1, 1);

                    m_ImageSettingsList[setting].ImageAlign = ContentAlignment.TopLeft;

                    m_TextSettingsList[setting].TextAlign  = ContentAlignment.TopLeft;
                    m_TextSettingsList[setting].TextOffset = new Point(16, 1);

                    if (setting != VisualSettingEnum.Normal)
                    {
                        m_GradCheckSettingsList[setting].GradientColor1 = Color.Transparent;
                    } //end if
                }     //next i

                m_GradBackSettingsList[VisualSettingEnum.Normal].GradientColor1  = Color.White;
                m_GradCheckSettingsList[VisualSettingEnum.Normal].GradientColor1 = Color.Black;

                m_BoxBounds    = new RectangleF(1, 1, 14, 14);
                SelectBehavior = ControlSelectBehavior.Control;
            }
            catch (Exception err)
            {
                ErrorHandler.ShowErrorMessage(err, "Error in Constructor function of DotCoolCheckBase control.");
            }
        }