/// <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."); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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; } }
/// <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."); } }
/// <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); } }
/// <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."); } }
/// <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); } }
/// <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."); } }
/// <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."); } }
/// <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."); } }
/// <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."); } }