public override void Refresh() { ArrayList[] groups = new ArrayList[27]; for (int i = 0; i < groups.Length; i++) { groups[i] = new ArrayList(); } foreach (XmlNode game in _master) { string val = XmlBinder.Eval(game, _field); if (val.Length == 0) { val = "(unnamed)"; } int i = 0; char first = val.ToUpper()[0]; if (first >= 'a' && first <= 'z') { i = first - 'a' + 1; } else if (first >= 'A' && first <= 'Z') { i = first - 'A' + 1; } groups[i].Add(game); } Items.Clear(); for (int i = 0; i < groups.Length; i++) { ArrayList group = groups[i]; if (group.Count == 0) { continue; } string name; if (i == 0) { name = "#"; } else { name = ((char)(i - 1 + 'A')).ToString(); } PodController c = new GameLeafController(_system, group, "description"); Items.Add(new SimpleItem(name, null, c)); } }
public override void Refresh() { Hashtable hash = new Hashtable(); foreach (XmlNode game in _master) { string val = XmlBinder.Eval(game, _field); if (val.Length == 0) { val = "(n/a)"; } ArrayList group = (ArrayList)hash[val]; if (group == null) { group = new ArrayList(); hash[val] = group; } group.Add(game); } Items.Clear(); foreach (string key in hash.Keys) { ArrayList group = (ArrayList)hash[key]; if (group.Count > 20) { PodController c = new AlphabetController(_system, group, "description"); Items.Add(new SimpleItem(key, null, c)); } else { PodController c = new GameLeafController(_system, group, "description"); Items.Add(new SimpleItem(key, null, c)); } } Items.Sort(new PodItemComparer()); }
public override void Refresh() { Items.Clear(); foreach (XmlNode game in _master) { string val = XmlBinder.Eval(game, _field); if (val.Length == 0) { val = "(unnamed)"; } if (_findClones) { XmlNodeList clones = game.SelectNodes("clones/game"); if (clones.Count > 0) { ArrayList group = new ArrayList(); group.Add(game); foreach (XmlNode clone in clones) { group.Add(clone); } PodController c = new GameLeafController(_system, group, "description", false); Items.Add(new GameItem(_system, game, val, c)); continue; } } Items.Add(new GameItem(_system, game, val)); } Items.Sort(new PodItemComparer()); }