Convert INI format colors to standard System.Drawing.Color
Use Generic Color Configuration Support
This commit is contained in:
@@ -84,24 +84,6 @@ namespace VEPROMS.CSLA.Library
|
||||
OnPropertyChanged("Printing_Length");
|
||||
}
|
||||
}
|
||||
private static Regex byARGB = new Regex(@"Color \[A=([0-9]*), R=([0-9]*), G=([0-9]*), B=([0-9]*)\]");
|
||||
private static Regex byName = new Regex(@"Color \[(.*)\]");
|
||||
public static Color ColorFromString(string sColor)
|
||||
{
|
||||
Match myMatch = byARGB.Match(sColor);
|
||||
if (myMatch.Groups.Count == 5)
|
||||
return Color.FromArgb(int.Parse(myMatch.Groups[1].Value), int.Parse(myMatch.Groups[2].Value), int.Parse(myMatch.Groups[3].Value), int.Parse(myMatch.Groups[4].Value));
|
||||
myMatch = byName.Match(sColor);
|
||||
if (myMatch.Groups.Count == 2)
|
||||
return Color.FromName(myMatch.Groups[1].Value);
|
||||
if (sColor[0] == '[')
|
||||
{
|
||||
string[] parts = sColor.Substring(1, sColor.Length - 2).Split(",".ToCharArray());
|
||||
return Color.FromArgb(Int32.Parse(parts[0]), Int32.Parse(parts[1]), Int32.Parse(parts[2]), Int32.Parse(parts[3]));
|
||||
}
|
||||
else return Color.FromName(sColor);
|
||||
|
||||
}
|
||||
[Category("Printing")]
|
||||
[DisplayName("Color")]
|
||||
[Description("Color of Document Text")]
|
||||
@@ -110,7 +92,7 @@ namespace VEPROMS.CSLA.Library
|
||||
get
|
||||
{
|
||||
string sColor = _Xp["Printing", "Color"];
|
||||
return ColorFromString(sColor);
|
||||
return ColorConfig.ColorFromString(sColor);
|
||||
}
|
||||
set
|
||||
{
|
||||
|
@@ -1051,21 +1051,11 @@ namespace VEPROMS.CSLA.Library
|
||||
get
|
||||
{
|
||||
string sColor = _Xp["default", "BkColor"];
|
||||
if (sColor == string.Empty) sColor = "White";
|
||||
if (sColor[0] == '[')
|
||||
{
|
||||
string[] parts = sColor.Substring(1, sColor.Length - 2).Split(",".ToCharArray());
|
||||
return Color.FromArgb(Int32.Parse(parts[0]), Int32.Parse(parts[1]), Int32.Parse(parts[2]));
|
||||
}
|
||||
else return Color.FromName(sColor);
|
||||
return ColorConfig.ColorFromString(sColor);
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value.IsNamedColor) _Xp["default", "BkColor"] = value.Name;
|
||||
else
|
||||
{
|
||||
_Xp["default", "BkColor"] = string.Format("[{0},{1},{2}]", value.R, value.G, value.B);
|
||||
}
|
||||
_Xp["default", "BkColor"] = value.ToString();
|
||||
OnPropertyChanged("Default_BkColor");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user