summaryrefslogtreecommitdiff
path: root/src/Notepad/Presentation/Model/Menu/IMenuItemComparer.cs
blob: 2fd15c7deb143bd76788eaf83c2a1fbc05ce0dfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System.Collections.Generic;

namespace Notepad.Presentation.Model.Menu {
    public interface IMenuItemComparer : IComparer<IMenuItem> {}

    public class MenuItemComparer : IMenuItemComparer {
        private IList<string> rankedMenuItems;

        public MenuItemComparer() {
            rankedMenuItems = new List<string> {
                                                   MenuItemNames.New,
                                                   MenuItemNames.Save,
                                                   MenuItemNames.SaveAs,
                                                   MenuItemNames.Exit,
                                                   MenuItemNames.About
                                               };
        }

        public int Compare(IMenuItem x, IMenuItem y) {
            return rankedMenuItems.IndexOf(x.Name()).CompareTo(rankedMenuItems.IndexOf(y.Name()));
        }
    }
}