internal TreeSource(ITreeCreator creator) { if (!string.IsNullOrEmpty(creator.Context)) { Context = DbContextUtil.CreateDbContext(creator.Context); } Tree = creator.CreateTree(this); }
private void OnChangeFactor(object sender, EventArgs e) { if (TryParse(_view.InputFactor, out int newFactor) && newFactor >= 2) { var newTree = _creator.CreateTree(newFactor); foreach (var item in _tree) { newTree.Add(item); } _tree = newTree; RefreshView(); } }
/// <summary> /// Reads the input stream and encodes it to the output stream. /// </summary> public void Encode(IFileInput input, IFileOutput output) { int symbol; // Getting the frequencies while ((symbol = input.ReadByte()) != -1) { _analyzer.ProcessSymbol(symbol); } long[] data = _analyzer.GetAnalysis(); Node root = _creator.CreateTree(data); var encoder = new HuffmanEncoder(output, root); input.GoToStart(); encoder.Encode(input); encoder.Finish(); }
public Presenter(IView view) { _view = view; _view.AddNode += OnAddNode; _view.DeleteNode += OnDeleteNode; _view.Clear += OnClear; _view.ChangeFactor += OnChangeFactor; _view.Reload += OnReload; _view.SelectLinked += OnSelectLinked; _view.SelectArray += OnSelectArray; _view.SortByEven += OnSortByEven; _view.SortByOdd += OnSortByOdd; _view.FillTestData += OnFillTestData; _view.MakeImmutable += OnMakeImmutable; _creator = new LinkedTreeCreator <int>(); _tree = _creator.CreateTree(); RefreshView(); }
private void OnSelectLinked(object sender, EventArgs e) { _creator = new LinkedTreeCreator <int>(); _tree = _creator.CreateTree(_tree.Factor); RefreshView(); }