public ImageCombineStepable(
     ImageEquationModel equation,
     FinalImageModel finalImage,
     Models.Models models,
     ImageCombineBuilder builder)
 {
     this.equation   = equation;
     this.finalImage = finalImage;
     this.models     = models;
     this.builder    = builder;
 }
 public ImageCombineController(ImageEquationModel equation, FinalImageModel finalImage, Models.Models models, int equationId)
 {
     this.equation   = equation;
     this.finalImage = finalImage;
     this.models     = models;
     this.equationId = equationId;
     equation.ColorFormula.PropertyChanged += FormulaOnPropertyChanged;
     equation.AlphaFormula.PropertyChanged += FormulaOnPropertyChanged;
     equation.PropertyChanged           += EquationOnPropertyChanged;
     this.models.Images.PropertyChanged += ImagesOnPropertyChanged;
     this.models.Filter.Changed         += FilterOnChanged;
 }
        public EquationViewModel(ImageEquationModel model, Models.Models models, int imageId)
        {
            this.model             = model;
            this.models            = models;
            this.imageId           = imageId;
            this.Color             = new FormulaViewModel(model.ColorFormula, models.Images, this);
            this.Alpha             = new FormulaViewModel(model.AlphaFormula, models.Images, this);
            Color.PropertyChanged += FormulaOnPropertyChanged;
            Alpha.PropertyChanged += FormulaOnPropertyChanged;

            this.useFilter = model.UseFilter;

            this.model.PropertyChanged          += ModelOnPropertyChanged;
            this.models.Display.PropertyChanged += DisplayOnPropertyChanged;
            this.models.FinalImages.Get(imageId).PropertyChanged += FinalImageOnPropertyChanged;
        }