Esempio n. 1
0
        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));
        }
Esempio n. 3
0
        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))
 {
 }