Exemple #1
0
        /// <summary>
        /// Déchargement de toutes les stratégies de toutes les instances
        /// </summary>
        public static void ClearAll()
        {
            ICandleNotifier notifier = ServiceLocator.Instance.GetService <ICandleNotifier>();

            if (notifier != null)
            {
                notifier.OptionsChanged -= new EventHandler(ReloadOnChangeEvents);
                notifier.SolutionOpened -= new EventHandler(ReloadOnChangeEvents);
                notifier.SolutionClosed -= new EventHandler(ReloadOnChangeEvents);
            }

            if (s_fileSystemWatcher != null)
            {
                s_fileSystemWatcher.EnableRaisingEvents = false;
                s_fileSystemWatcher.Changed            -= new FileSystemEventHandler(fileSystemWatcher_Changed);
            }

            if (s_currentStrategyManager != null)
            {
                try { s_currentStrategyManager.UnloadStrategies(); }
                catch { }
            }

            s_currentModelId         = Guid.Empty;
            s_currentStrategyManager = null;
        }
        /// <summary>
        /// Called when [before close solution].
        /// </summary>
        /// <param name="pUnkReserved">The p unk reserved.</param>
        /// <returns></returns>
        public int OnBeforeCloseSolution(object pUnkReserved)
        {
            ICandleNotifier notifier = ServiceLocator.Instance.GetService <ICandleNotifier>();

            if (notifier != null)
            {
                notifier.NotifySolutionClosed(this);
            }
            return(0);
        }
        /// <summary>
        /// Called when [after open solution].
        /// </summary>
        /// <param name="pUnkReserved">The p unk reserved.</param>
        /// <param name="fNewSolution">The f new solution.</param>
        /// <returns></returns>
        public int OnAfterOpenSolution(object pUnkReserved, int fNewSolution)
        {
            ICandleNotifier notifier = ServiceLocator.Instance.GetService <ICandleNotifier>();

            if (notifier != null)
            {
                notifier.NotifySolutionOpened(this);
            }
            return(0);
        }
Exemple #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="StrategyManager"/> class.
        /// </summary>
        public StrategyManager()
        {
            ICandleNotifier notifier = ServiceLocator.Instance.GetService <ICandleNotifier>();

            if (notifier != null)
            {
                notifier.OptionsChanged += new EventHandler(ReloadOnChangeEvents);
                notifier.SolutionOpened += new EventHandler(ReloadOnChangeEvents);
                notifier.SolutionClosed += new EventHandler(ReloadOnChangeEvents);
            }
        }
Exemple #5
0
        /// <summary>
        /// Reloads the on change events.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        private static void ReloadOnChangeEvents(object sender, EventArgs e)
        {
            ICandleNotifier notifier = ServiceLocator.Instance.GetService <ICandleNotifier>();

            if (notifier != null)
            {
                notifier.OptionsChanged -= ReloadOnChangeEvents;
                notifier.SolutionOpened -= ReloadOnChangeEvents;
            }
            s_instance = null;
        }
        /// <summary>
        /// Customs the dispose.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        private void CustomDispose(object sender, EventArgs e)
        {
            // Code personnalisé
            RepositoryManager.Instance.ModelsMetadata.Metadatas.MetadataChanged -= ModelsMetadata_MetadataChanged;

            // Abonnements aux changements des options
            ICandleNotifier notifier = ServiceLocator.Instance.GetService <ICandleNotifier>();

            if (notifier != null)
            {
                notifier.OptionsChanged -= CandleOptionsChanged;
            }
        }
Exemple #7
0
        /// <summary>
        /// Called by Visual Studio to store a dialog page's settings in local storage, generally the registry.
        /// </summary>
        public override void SaveSettingsToStorage()
        {
            if (_optionsPageControl != null)
            {
                _optionsPageControl.CommitChanges();
                ICandleNotifier notifier = ServiceLocator.Instance.GetService <ICandleNotifier>();
                if (notifier != null)
                {
                    notifier.NotifyOptionsChanged(this);
                }
            }

            base.SaveSettingsToStorage();
        }
        /// <summary>
        /// Constructeur
        /// </summary>
        /// <param name="canDragAndDrop">if set to <c>true</c> [can drag and drop].</param>
        public RepositoryTreeControl(bool canDragAndDrop)
        {
            InitializeComponent();

#if DEBUG
            if (ServiceLocator.IsDesignMode)
            {
                return;
            }
#endif
            // Activation du disposer
            components.Add(new InternalDisposer(CustomDispose));

            _worker.DoWork             += worker_DoWork;
            _worker.RunWorkerCompleted += worker_RunWorkerCompleted;

            if (canDragAndDrop)
            {
                _menu = new ContextMenu();
                _treeCtrl.ContextMenu = _menu;
                _menu.Popup          += menu_Popup;

                _removeLocalMenuItem        = new MenuItem();
                _removeLocalMenuItem.Text   = "Remove local";
                _removeLocalMenuItem.Click += removeLocal_Click;

                _showDocumentationMenuItem        = new MenuItem();
                _showDocumentationMenuItem.Text   = "Show documentation";
                _showDocumentationMenuItem.Click += showDocumentation_Click;
                _showDocumentationMenuItem.Popup += showDocumentationMenuItem_Popup;

                _propertiesMenuItem_        = new MenuItem();
                _propertiesMenuItem_.Text   = "Properties";
                _propertiesMenuItem_.Click += properties_Click;

                _getLastVersionMenuItem        = new MenuItem();
                _getLastVersionMenuItem.Text   = "Get last version";
                _getLastVersionMenuItem.Click += getLastVersionMenuItem_Click;

                _publishMenuItem        = new MenuItem();
                _publishMenuItem.Text   = "Publish";
                _publishMenuItem.Click += publish_Click;
                _menu.MenuItems.AddRange(new MenuItem[] { _showDocumentationMenuItem, _removeLocalMenuItem, _publishMenuItem, _propertiesMenuItem_, _getLastVersionMenuItem });

                _treeCtrl.ItemDrag             += treeCtrl_ItemDrag;
                _treeCtrl.NodeMouseClick       += treeCtrl_NodeMouseClick;
                _treeCtrl.NodeMouseDoubleClick += treeCtrl_NodeMouseDoubleClick;
            }

            _treeCtrl.AfterSelect += treeCtrl_AfterSelect;

            RefreshTreeView();

            RepositoryManager.Instance.ModelsMetadata.Metadatas.MetadataChanged += ModelsMetadata_MetadataChanged;

            // Abonnements aux changements des options
            ICandleNotifier notifier = ServiceLocator.Instance.GetService <ICandleNotifier>();
            if (notifier != null)
            {
                notifier.OptionsChanged += CandleOptionsChanged;
            }
        }