private void LoadEditStep(EditableOperationBatchStep step) { currentStep = step; imageSource1.CurrentImage = batch.Images[step.Source1]; imageOpResult.CurrentImage = batch.Images[step.OperationResult]; LoadImageOperationControl(step.ImageOperation); //LoadControlList(); Invalidate(true); }
private void InitializeEditor(EditableOperationBatch batch) { buttonEditStep.Text = "Choose Step"; buttonEditStep.Enabled = true; LoadChooseStep(); imageFixedResult.CurrentImage = batch.ImageResult; imageFixedResult.CurrentImage.FinishWriting(); imageSource1.CurrentImage = null; imageSource2.CurrentImage = null; imageOpResult.CurrentImage = null; currentStep = null; Invalidate(true); }
internal static EditableOperationBatchStep FromSerialization(string serialization) { EditableOperationBatchStep step = new EditableOperationBatchStep(EditableOperationBatch.currentBatch); string[] parts = serialization.Split(':'); string resultKey = parts[0]; string src1 = parts[1]; string src2 = parts[2]; string op = parts[3]; step.source1 = src1; if (src2 != " ") step.source2 = src2; step.imageOperation = ImageOperation.LoadFromSerializationBase(op); step.ImageOperation.ImageOperator.Source = step.batch.Images[src1]; if (step.source2 != null) ((DualImageOperator)step.imageOperation.ImageOperator).Source2 = step.batch.Images[src2]; DataImage resultImage = step.imageOperation.ProcessImage(); step.operationResult = resultKey; step.batch.Images.Add(resultKey, resultImage); return step; }
private void buttonReset_Click(object sender, EventArgs e) { ShowList(true); if (buttonReset.Text == "Reset") { buttonEditStep.Enabled = false; imageFixedResult.CurrentImage = null; imageSource1.CurrentImage = null; imageSource2.CurrentImage = null; imageOpResult.CurrentImage = null; panelControl.Controls.Clear(); list.Items.Clear(); batch = null; currentStep = null; foreach (KeyValuePair<string, DataImage> pair in NuzzoliloImageFiddler.Instance.OpenImages) { list.Items.Add(pair.Key); } buttonReset.Text = "Choose Image"; Invalidate(true); } else if (buttonReset.Text == "Choose Image") { if (list.SelectedItem != null) { DataImage currentImage = NuzzoliloImageFiddler.Instance.OpenImages[list.SelectedItem.ToString()]; InitializeEditor(currentImage); buttonReset.Text = "Reset"; buttonEditStep.Enabled = true; } } Invalidate(true); }
//Recursive EditableOperationBatchStep AddBatchStep(DataImage image) { EditableOperationBatchStep step = new EditableOperationBatchStep(this, image); if (steps.Contains(step)) return null; //already added if (image.ResultOf == null) { imageSource = image; return null; //do not add step for first image since there is no step for first image } EditableOperationBatchStep stepTemp = AddBatchStep(image.ResultOf.Source); if (stepTemp != null) steps.Add(stepTemp); //if (typeof(DualImageOperator).IsAssignableFrom(image.ResultOf.GetType())) //{ try { DualImageOperator d = (DualImageOperator)image.ResultOf; stepTemp = AddBatchStep(((DualImageOperator)image.ResultOf).Source2); if (stepTemp != null) steps.Add(stepTemp); } catch (Exception) { } // } return step; }