public void configuration_serialization_test() { var stream = new MemoryStream(); // Uncomment to create example config file //var stream = new FileStream(@"c:\temp\ColorReplaceAction.config", FileMode.Create); // Serialize config.Serialize(stream); stream.Position = 0; // Deserialize var config2 = ColorReplaceActionConfiguration.Deserialize(stream); Assert.AreEqual(config.ColorReplaceDefinitions.Count, config2.ColorReplaceDefinitions.Count); Action <ColorReplaceDefinition, ColorReplaceDefinition> assertAreEqual = (def1, def2) => { Assert.AreEqual(def1.Location, def2.Location); Assert.AreEqual(def1.FromColor, def2.FromColor); Assert.AreEqual(def1.ToColor, def2.ToColor); }; assertAreEqual(config.ColorReplaceDefinitions[0], config2.ColorReplaceDefinitions[0]); assertAreEqual(config.ColorReplaceDefinitions[1], config2.ColorReplaceDefinitions[1]); assertAreEqual(config.ColorReplaceDefinitions[2], config2.ColorReplaceDefinitions[2]); }
public void Init() { beforeLabel = new XRLabel() { ForeColor = Color.Red, BackColor = Color.White, BorderColor = Color.Blue }; afterLabel = new XRLabel() { ForeColor = Color.Green, BackColor = Color.Gold, BorderColor = Color.Yellow }; config = new ColorReplaceActionConfiguration(); config.ColorReplaceDefinitions.Add(new ColorReplaceDefinition(ColorLocation.ForeColor, beforeLabel.ForeColor, afterLabel.ForeColor)); config.ColorReplaceDefinitions.Add(new ColorReplaceDefinition(ColorLocation.BackColor, beforeLabel.BackColor, afterLabel.BackColor)); config.ColorReplaceDefinitions.Add(new ColorReplaceDefinition(ColorLocation.BorderColor, beforeLabel.BorderColor, afterLabel.BorderColor)); }
public void Init() { beforeLabel = new XRLabel() { ForeColor = Color.Red, BackColor = Color.White, BorderColor = Color.Blue }; afterLabel = new XRLabel() { ForeColor = Color.Green, BackColor = Color.Gold, BorderColor = Color.Yellow }; config = new ColorReplaceActionConfiguration(); config.ColorReplaceDefinitions.Add(new ColorReplaceDefinition(ColorLocation.ForeColor, beforeLabel.ForeColor, afterLabel.ForeColor)); config.ColorReplaceDefinitions.Add(new ColorReplaceDefinition(ColorLocation.BackColor, beforeLabel.BackColor, afterLabel.BackColor)); config.ColorReplaceDefinitions.Add(new ColorReplaceDefinition(ColorLocation.BorderColor, beforeLabel.BorderColor, afterLabel.BorderColor)); }
private static Color GetReplacementColor(Color color, ColorLocation location, ColorReplaceActionConfiguration config) { var q = from definition in config.ColorReplaceDefinitions where location == definition.Location where color.ToArgb() == definition.FromColor.ToArgb() select definition; var colorChange = q.SingleOrDefault(); return(colorChange != null ? colorChange.ToColor : color); }
public ColorReplacerAction(ColorReplaceActionConfiguration config) { _config = config; }
public ColorReplacerAction(string configFile) : this(ColorReplaceActionConfiguration.Deserialize(configFile)) { }