public NonlinearFitController(NonlinearFitDocument doc)
    {
      _doc = doc;
      _parameterController = (IMVCAController)Current.Gui.GetControllerAndControl(new object[] { _doc.CurrentParameters }, typeof(IMVCAController));
      _fitEnsembleController = (IFitEnsembleController)Current.Gui.GetControllerAndControl(new object[] { _doc.FitEnsemble }, typeof(IFitEnsembleController));

      _funcselController = new FitFunctionSelectionController(_doc.FitEnsemble.Count == 0 ? null : _doc.FitEnsemble[0].FitFunction);
      Current.Gui.FindAndAttachControlTo(_funcselController);

      _doc.FitEnsemble.Changed += new EventHandler(EhFitEnsemble_Changed);
    }
        public NonlinearFitController(NonlinearFitDocument doc)
        {
            _doc = doc;
            _parameterController   = (IMVCAController)Current.Gui.GetControllerAndControl(new object[] { _doc.CurrentParameters }, typeof(IMVCAController));
            _fitEnsembleController = (IFitEnsembleController)Current.Gui.GetControllerAndControl(new object[] { _doc.FitEnsemble }, typeof(IFitEnsembleController));

            _funcselController = new FitFunctionSelectionController(_doc.FitEnsemble.Count == 0 ? null : _doc.FitEnsemble[0].FitFunction);
            Current.Gui.FindAndAttachControlTo(_funcselController);

            _doc.FitEnsemble.Changed += new EventHandler(EhFitEnsemble_Changed);
        }
		public NonlinearFitController(NonlinearFitDocument doc)
		{
			_doc = doc;
			_parameterController = (IMVCANController)Current.Gui.GetControllerAndControl(new object[] { _doc.CurrentParameters }, typeof(IMVCANController));
			_fitEnsembleController = (IFitEnsembleController)Current.Gui.GetControllerAndControl(new object[] { _doc.FitEnsemble }, typeof(IFitEnsembleController));

			_funcselController = new FitFunctionSelectionController(_doc.FitEnsemble.Count == 0 ? null : _doc.FitEnsemble[0].FitFunction);
			Current.Gui.FindAndAttachControlTo(_funcselController);

			{
				var fitEnsemble = _doc.FitEnsemble;
				fitEnsemble.Changed += new WeakEventHandler(EhFitEnsemble_Changed, handler => fitEnsemble.Changed -= handler);
			}

			_generationInterval = new Common.EquallySpacedInterval();
			_generationIntervalController = new Common.EquallySpacedIntervalController();
			_generationIntervalController.InitializeDocument(_generationInterval);
		}