Exemple #1
0
        public void InitDetailController(bool bInit)
        {
            if (bInit)
            {
                object providerObject = _doc;

                if (_detailController is IMVCANDController)
                {
                    ((IMVCANDController)_detailController).MadeDirty -= EhDetailsChanged;
                }

                _detailController = (IMVCAController)Current.Gui.GetControllerAndControl(new object[] { providerObject }, typeof(IMVCANController), UseDocument.Directly);

                if (null != _detailController && GetType() == _detailController.GetType()) // the returned controller is of this common type here -> thus no specialized controller seems to exist for this type of color provider
                {
                    _detailController.Dispose();
                    _detailController = null;
                }

                if (_detailController is IMVCANDController)
                {
                    ((IMVCANDController)_detailController).MadeDirty += EhDetailsChanged;
                }
            }
            if (null != _view)
            {
                _detailView = null == _detailController ? null : _detailController.ViewObject;
                _view.SetDetailView(_detailView);
            }
        }
Exemple #2
0
 private void DetachController(IMVCAController ctrl)
 {
     if (ctrl is IMVCANDController)
     {
         (ctrl as IMVCANDController).MadeDirty -= EhMadeDirty;
         if (ctrl is IDisposable)
         {
             ctrl.Dispose();
         }
     }
 }