void AssignController(PresentationController AController)
 {
     PresentationController pc = AController;
     if (pc != null)
     {
         pc.OnSlideSelectionChanged += new SlideSelectionChanged(m_controller_OnSlideSelectionChanged);
     }
 }
 /// <summary>
 /// Конструктор по умолчанию
 /// </summary>
 public PresentationController()
 {
     _instance = this;
     _identity = Thread.CurrentPrincipal as UserIdentity;
 }
 /// <summary>
 /// Фабрика Контроллера
 /// </summary>
 /// <returns>Созданный контроллер</returns>
 public static PresentationController CreatePresentationController()
 {
     PresentationController result = new PresentationController();
     return result;
 }
        public void Dispose()
        {
            if (LicenseManager.UsageMode != LicenseUsageMode.Designtime)
                UnsubscribeFromMonitor(true);

            _instance.OnChanged = null;
            _instance.OnGetAllSlides = null;
            _instance.OnGetCreatedSlides = null;
            _instance.OnMonitorListChanged = null;
            _instance.OnPresentationChangedExternally = null;
            _instance.OnPresentationLockChanged = null;
            _instance.OnPresentationLockedExternally = null;
            _instance.OnPresentationRemoved = null;
            _instance.OnSavePresentation = null;
            _instance.OnSelectedResourceChanged = null;
            _instance.OnSlideChangedExternally = null;
            _instance.OnSlideLayoutChanged = null;
            _instance.OnSlideLockChanged = null;
            _instance.OnSlideSelectionChanged = null;
            _instance.OnSourceChanged = null;
            _instance.OnUnlockAllSlides = null;
            _instance.OnPresentationUnlockedExternally = null;
            _instance = null;
        }