public override bool EditComponent(ITypeDescriptorContext context, object component, IServiceProvider provider, IWin32Window owner)
        {
            if (provider != null)
            {
                var editorState = (IWorkflowEditorState)provider.GetService(typeof(IWorkflowEditorState));
                if (editorState != null)
                {
                    if (editorState.WorkflowRunning)
                    {
                        throw new InvalidOperationException(Resources.WorkflowRunning_Error);
                    }

                    var capture = (FP3001)component;
                    using (var editorForm = new FP3001CalibrationEditorForm(capture, capture.Generate(), provider))
                    {
                        var crop = capture.AutoCrop;
                        capture.AutoCrop = false;
                        try { editorForm.ShowDialog(owner); }
                        catch (TargetInvocationException ex)
                        {
                            throw ex.InnerException;
                        }
                        finally { capture.AutoCrop = crop; }
                    }
                }
            }

            return(false);
        }
        private void setupRegionsButton_Click(object sender, EventArgs e)
        {
            CloseDevice();
            using (var ledCalibration = new LedCalibrationEditor(configuration))
                using (var calibrationDialog = new FP3001CalibrationEditorForm(instance, photometry.Process(instance.Generate(ledCalibration.Commands)), serviceProvider))
                {
                    calibrationDialog.AddCalibrationControl(ledCalibration);
                    calibrationDialog.Text = setupRegionsButton.Text;
                    calibrationDialog.Icon = Icon;
                    calibrationDialog.ShowDialog(this);
                    configuration.Regions = instance.Regions;
                }

            OpenDevice();
        }
示例#3
0
 internal EditorSite(FP3001CalibrationEditorForm owner, IServiceProvider provider)
 {
     form           = owner;
     parentProvider = provider;
 }