Beispiel #1
0
 /// <summary>
 /// Executes the given <see cref="IGraphAlgorithm"/>.
 /// </summary>
 /// <param name="algorithm">The <see cref="IGraphAlgorithm"/> to execute.</param>
 private void Execute(IGraphAlgorithm algorithm)
 {
     try
     {
         algorithm.Execute(this.graphProvider.Graph);
     }
     catch (InvalidOperationException ex)
     {
         this.messageHandler.ShowError(string.Format(CultureInfo.CurrentCulture, Palmmedia.WpfGraph.UI.Properties.Resources.InvalidGraph, ex.Message));
     }
 }
Beispiel #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="IAlgorithmMenuItemViewModel"/> class.
        /// </summary>
        /// <param name="graphProvider">The <see cref="IGraphProvider"/>.</param>
        /// <param name="messageHandler">The <see cref="IMessageHandler"/>.</param>
        /// <param name="parentViewModel">The parent view model.</param>
        /// <param name="algorithm">The <see cref="IGraphAlgorithm"/>.</param>
        public IAlgorithmMenuItemViewModel(IGraphProvider graphProvider, IMessageHandler messageHandler, MenuItemViewModel parentViewModel, IGraphAlgorithm algorithm)
            : base(parentViewModel)
        {
            this.graphProvider  = graphProvider;
            this.messageHandler = messageHandler;

            this.Header  = algorithm.Name;
            this.Command = new RelayCommand(param => this.Execute(algorithm));
        }