public ChooseEntetyFromListHelper InitWindow <T>() where T : DataObject { ItemEditorViewer = BaseEditorStatic.GetDataViewer <T>(); FilterViewer = BaseEditorStatic.GetDataFilter <T>(); var listItems = BaseEditorStatic.DataStorager.All <T>().ToList(); FilterViewer.InitData(new ArrayList(listItems)); _dicItems = new Dictionary <string, DataObject>(); listItems.ForEach(i => _dicItems.Add(string.Format("{0}-{1}", i.Id, i.Name), i)); _btnNames = _dicItems.Keys.ToArray(); if (ItemEditorViewer.CanShow) { for (var i = 0; i < _btnNames.Length; i++) { if (_btnNames[i] == string.Format("{0}-{1}", ItemEditorViewer.GetCurrent().Id, ItemEditorViewer.CurrentName)) { _currentIndex = i; break; } } } else { _currentIndex = 0; ItemEditorViewer.SetCurrent(_dicItems[_btnNames[_currentIndex]]); } return(this); }
// protected abstract BaseEditor<T> GetViewer (); //protected abstract ChooseEntetyFromListHelper<T> GetChoosenWindow (); //protected virtual BaseFilterViewer<T> GetFilter () //{ // return new BaseFilterViewer<T> (); //} private void ReloadData() { CurrentBox.Reload(); _filterViewer.InitData(CurrentBox.ArrayListData); this.Repaint(); }