using System; using System.Collections.Generic; using System.Drawing; using HeuristicLab.Core; using HeuristicLab.Optimization; using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; using HeuristicLab.Problems.RoutePlanning; namespace HeuristicLab.Algorithms.GraphRouting { [Item("Graph Routing Algorithm", "An algorithm to execute graph routing algorithms (Dijkstra, A*, etc.).")] [Creatable("Algorithms")] [StorableClass] public class GraphRoutingAlgorithm : IAlgorithm { #region Problem Properties private IProblem problem; public IProblem Problem { get { return (RoutePlanningProblem)problem; } set { problem = (RoutePlanningProblem)value; } } public Type ProblemType { get { return typeof(RoutePlanningProblem); } } #endregion #region IAlgorithm public event EventHandler ProblemChanged; public void CollectResultValues(IDictionary values) { throw new NotImplementedException(); } public ResultCollection Results { get { throw new NotImplementedException(); } } public bool StoreAlgorithmInEachRun { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } public event EventHandler StoreAlgorithmInEachRunChanged; #endregion #region INamedItem Members public bool CanChangeDescription { get { throw new NotImplementedException(); } } public bool CanChangeName { get { throw new NotImplementedException(); } } public string Description { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } public event EventHandler DescriptionChanged; public string Name { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } public event EventHandler NameChanged; public event EventHandler> NameChanging; #endregion #region IItem Members public string ItemDescription { get { throw new NotImplementedException(); } } public Image ItemImage { get { if (ExecutionState == ExecutionState.Prepared) return HeuristicLab.Common.Resources.VSImageLibrary.ExecutablePrepared; else if (ExecutionState == ExecutionState.Started) return HeuristicLab.Common.Resources.VSImageLibrary.ExecutableStarted; else if (ExecutionState == ExecutionState.Paused) return HeuristicLab.Common.Resources.VSImageLibrary.ExecutablePaused; else if (ExecutionState == ExecutionState.Stopped) return HeuristicLab.Common.Resources.VSImageLibrary.ExecutableStopped; else return ItemAttribute.GetImage(this.GetType()); } } public event EventHandler ItemImageChanged; public string ItemName { get { return ItemAttribute.GetName(this.GetType()); } } public Version ItemVersion { get { return ItemAttribute.GetVersion(this.GetType()); } } public event EventHandler ToStringChanged; #endregion #region IDeepCloneable Members public Common.IDeepCloneable Clone(Common.Cloner cloner) { throw new NotImplementedException(); } #endregion #region ICloneable Members public object Clone() { throw new NotImplementedException(); } #endregion #region IParameterizedItem Members public void CollectParameterValues(IDictionary values) { throw new NotImplementedException(); } public Core.IKeyedItemCollection Parameters { get { throw new NotImplementedException(); } } #endregion #region IOptimizer Members public IEnumerable NestedOptimizers { get { throw new NotImplementedException(); } } public void Prepare(bool clearRuns) { throw new NotImplementedException(); } public RunCollection Runs { get { throw new NotImplementedException(); } } #endregion #region IExecutable Members public event EventHandler> ExceptionOccurred; public Core.ExecutionState ExecutionState { get { throw new NotImplementedException(); } } public event EventHandler ExecutionStateChanged; public TimeSpan ExecutionTime { get { throw new NotImplementedException(); } } public event EventHandler ExecutionTimeChanged; public void Pause() { throw new NotImplementedException(); } public event EventHandler Paused; public void Prepare() { throw new NotImplementedException(); } public event EventHandler Prepared; public void Start() { throw new NotImplementedException(); } public event EventHandler Started; public void Stop() { throw new NotImplementedException(); } public event EventHandler Stopped; #endregion } }