internal void Exit() { TreeView.SetRowAction(); TreeView = null; OnExit(); }
private void Init() { if (_modules == null) { var type = typeof(GitModule); _modules = type.Assembly.GetTypes() .Where(t => !t.IsAbstract && t.IsSubclassOf(type)) .Select(t => { var i = Activator.CreateInstance(t, true) as GitModule; i.Init(this); return(i); }) .OrderBy(i => (int)i.Type) .ToList(); _hasSub = false; _sub = -1; _main = (int)ModuleType.Log; _modules[_main].Enter(null); } if (_state == null) { _state = new TreeViewState(); } if (_treeView == null) { _treeView = new GitTreeView(_state); _treeView.KeyEventAction += KeyEvent; _treeView.SingleClickAction += SingleClick; _treeView.DoubleClickAction += DoubleClick; foreach (var m in _modules) { m.Init(this); } _modules[_main].TreeView = _treeView; _modules[_main].Reload(); } if (_subState == null) { _subState = new TreeViewState(); } if (_subTreeView == null) { _subTreeView = new GitTreeView(_subState); _subTreeView.KeyEventAction += KeyEvent; _subTreeView.SingleClickAction += SingleClick; _subTreeView.DoubleClickAction += DoubleClick; if (_hasSub) { _modules[_sub].TreeView = _subTreeView; _modules[_sub].Reload(); } } }